From 7e3e83d35c464211e07d09939b3311ba91567f4b Mon Sep 17 00:00:00 2001 From: GuilhermmeDev <139175554+GuilhermmeDev@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:54:16 -0300 Subject: [PATCH 1/2] fix: websockets delay --- .env.example | 25 +++++++++++++++------ app/Events/ConfirmDonation.php | 14 ++++++++++-- app/Http/Controllers/CampaignController.php | 10 ++++----- app/Http/Controllers/DonationController.php | 8 +++---- resources/views/campaigns/edit.blade.php | 8 +++---- resources/views/donations/show.blade.php | 14 ++++++------ routes/web.php | 2 +- 7 files changed, 51 insertions(+), 30 deletions(-) diff --git a/.env.example b/.env.example index 7b75dc8..9097a7c 100644 --- a/.env.example +++ b/.env.example @@ -21,10 +21,10 @@ LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=sqlite -# DB_HOST=127.0.0.1 -# DB_PORT=3306 -# DB_DATABASE=laravel -# DB_USERNAME=root +DB_HOST=127.0.0.1 +# DB_PORT=5432 +# DB_DATABASE= +# DB_USERNAME= # DB_PASSWORD= SESSION_DRIVER=database @@ -33,9 +33,9 @@ SESSION_ENCRYPT=false SESSION_PATH=/ SESSION_DOMAIN=null -BROADCAST_CONNECTION=log +BROADCAST_CONNECTION=reverb FILESYSTEM_DISK=local -QUEUE_CONNECTION=database +QUEUE_CONNECTION=sync CACHE_STORE=database CACHE_PREFIX= @@ -51,7 +51,7 @@ MAIL_MAILER=log MAIL_HOST=127.0.0.1 MAIL_PORT=2525 MAIL_USERNAME=null -MAIL_PASSWORD=null +MAIL_PASSWORD= MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" @@ -62,7 +62,18 @@ AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false +REVERB_APP_KEY= +REVERB_APP_SECRET= +REVERB_APP_ID= +REVERB_HOST=127.0.0.1 +REVERB_PORT=8080 +REVERB_SCHEME= + VITE_APP_NAME="${APP_NAME}" +VITE_REVERB_APP_KEY="${REVERB_APP_KEY}" +VITE_REVERB_HOST="${REVERB_HOST}" +VITE_REVERB_PORT="${REVERB_PORT}" +VITE_REVERB_SCHEME="${REVERB_SCHEME}" # google oauth2 GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= diff --git a/app/Events/ConfirmDonation.php b/app/Events/ConfirmDonation.php index d25697a..3df7a43 100644 --- a/app/Events/ConfirmDonation.php +++ b/app/Events/ConfirmDonation.php @@ -7,6 +7,7 @@ use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; +use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; @@ -17,7 +18,7 @@ class ConfirmDonation implements ShouldBroadcast /** * Create a new event instance. */ - public $donation; + protected $donation; public function __construct(Donation $donation) { @@ -31,6 +32,15 @@ public function __construct(Donation $donation) */ public function broadcastOn(): Channel { - return new PrivateChannel('donation.'.$this->donation->id); + return new PrivateChannel('donation.' . $this->donation->id); + } + + public function broadcastWith(): array + { + return [ + 'id' => $this->donation->id, + 'status' => $this->donation->Status, + 'confirmed_at' => $this->donation->Confirmed_at->toIso8601String() + ]; } } diff --git a/app/Http/Controllers/CampaignController.php b/app/Http/Controllers/CampaignController.php index e7b1765..0f30a5f 100644 --- a/app/Http/Controllers/CampaignController.php +++ b/app/Http/Controllers/CampaignController.php @@ -39,7 +39,7 @@ public function store(CampaignRequest $request) $address->Street = $validRequest['Street']; - $dateTime = $validRequest['Data'].' '.$validRequest['Hour']; // concatenando data e hora + $dateTime = $validRequest['Data'] . ' ' . $validRequest['Hour']; // concatenando data e hora $dateTime = \Carbon\Carbon::createFromFormat('Y-m-d H:i', $dateTime); // formatando com a biblioteca Carbon $address->Collection_date = $dateTime; @@ -64,7 +64,7 @@ public function store(CampaignRequest $request) $extension = $requestImage->extension(); - $imageName = md5($requestImage->getClientOriginalName().strtotime('now')).'.'.$extension; + $imageName = md5($requestImage->getClientOriginalName() . strtotime('now')) . '.' . $extension; $imagePath = $requestImage->storeAs('campaigns', $imageName, 'public'); @@ -140,11 +140,11 @@ public function update($id, Request $request) $extension = $requestImage->extension(); - $imageName = md5($requestImage->getClientOriginalName().strtotime('now')).'.'.$extension; + $imageName = md5($requestImage->getClientOriginalName() . strtotime('now')) . '.' . $extension; - $requestImage->move(public_path('img/campaigns'), $imageName); + $imagePath = $requestImage->storeAs('campaigns', $imageName, 'public'); - $campaign->Image = $imageName; + $campaign->Image = $imagePath; } $campaign->save(); diff --git a/app/Http/Controllers/DonationController.php b/app/Http/Controllers/DonationController.php index 0cd8648..ba1bad6 100644 --- a/app/Http/Controllers/DonationController.php +++ b/app/Http/Controllers/DonationController.php @@ -17,7 +17,7 @@ public function donate($id) if (Gate::allows('verify-cpf', auth()->user())) { $campaign = Campaign::findOrFail($id); if ($campaign->meta['current'] >= $campaign->meta['target']) { - return redirect('/campaign/'.$campaign->id); + return redirect('/campaign/' . $campaign->id); } return view('donations.donate', compact('campaign')); @@ -45,7 +45,7 @@ public function store(Request $request, $id) $donation->save(); - $url = url('/confirm/'.$donation->id); + $url = url('/confirm/' . $donation->id); $qrcode = QrCode::format('png')->size(200)->generate($url); @@ -53,7 +53,7 @@ public function store(Request $request, $id) $donation->save(); - return redirect('/donation/'.$donation->id); + return redirect('/donation/' . $donation->id); } public function show($id) @@ -112,7 +112,7 @@ public function confirm($id) $campaign->meta = $meta; $campaign->save(); - ConfirmDonation::dispatch($donation); + event(new ConfirmDonation($donation)); return redirect()->route('campaign.show', $campaign->id)->with('Success', 'Doação confirmada com sucesso.'); } diff --git a/resources/views/campaigns/edit.blade.php b/resources/views/campaigns/edit.blade.php index d15fd8c..75d9d46 100644 --- a/resources/views/campaigns/edit.blade.php +++ b/resources/views/campaigns/edit.blade.php @@ -56,7 +56,7 @@ class="w-full mt-2 h-36 px-3 py-2 resize-none appearance-none bg-white dark:bg-n

{{ $message }}

@enderror - +
@@ -77,10 +77,10 @@ class="block w-full px-3 py-2 text-sm text-gray-900 dark:text-gray-100 border bo

Imagem Atual:

{{-- Ajuste no caminho da imagem: use asset() para storage se for o caso, ou img/campaigns --}} - Imagem atual da campanha: {{ $campaign->Title }} + Imagem atual da campanha: {{ $campaign->Title }}
@endif - +
{{-- Aumentado padding top para espaçamento --}} diff --git a/routes/web.php b/routes/web.php index 3623422..b7d4c4d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -41,4 +41,4 @@ Route::patch('/cpf', [ProfileController::class, 'registerCpf']); }); -require __DIR__.'/auth.php'; +require __DIR__ . '/auth.php'; From 621d4fa368551c64f44da6c9936e97923c9507d6 Mon Sep 17 00:00:00 2001 From: GuilhermmeDev <139175554+GuilhermmeDev@users.noreply.github.com> Date: Wed, 3 Dec 2025 16:56:52 +0000 Subject: [PATCH 2/2] ci: apply pint style fixes --- app/Events/ConfirmDonation.php | 5 ++--- app/Http/Controllers/CampaignController.php | 6 +++--- app/Http/Controllers/DonationController.php | 6 +++--- routes/web.php | 2 +- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/app/Events/ConfirmDonation.php b/app/Events/ConfirmDonation.php index 3df7a43..6320703 100644 --- a/app/Events/ConfirmDonation.php +++ b/app/Events/ConfirmDonation.php @@ -7,7 +7,6 @@ use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; @@ -32,7 +31,7 @@ public function __construct(Donation $donation) */ public function broadcastOn(): Channel { - return new PrivateChannel('donation.' . $this->donation->id); + return new PrivateChannel('donation.'.$this->donation->id); } public function broadcastWith(): array @@ -40,7 +39,7 @@ public function broadcastWith(): array return [ 'id' => $this->donation->id, 'status' => $this->donation->Status, - 'confirmed_at' => $this->donation->Confirmed_at->toIso8601String() + 'confirmed_at' => $this->donation->Confirmed_at->toIso8601String(), ]; } } diff --git a/app/Http/Controllers/CampaignController.php b/app/Http/Controllers/CampaignController.php index 0f30a5f..d08d8fd 100644 --- a/app/Http/Controllers/CampaignController.php +++ b/app/Http/Controllers/CampaignController.php @@ -39,7 +39,7 @@ public function store(CampaignRequest $request) $address->Street = $validRequest['Street']; - $dateTime = $validRequest['Data'] . ' ' . $validRequest['Hour']; // concatenando data e hora + $dateTime = $validRequest['Data'].' '.$validRequest['Hour']; // concatenando data e hora $dateTime = \Carbon\Carbon::createFromFormat('Y-m-d H:i', $dateTime); // formatando com a biblioteca Carbon $address->Collection_date = $dateTime; @@ -64,7 +64,7 @@ public function store(CampaignRequest $request) $extension = $requestImage->extension(); - $imageName = md5($requestImage->getClientOriginalName() . strtotime('now')) . '.' . $extension; + $imageName = md5($requestImage->getClientOriginalName().strtotime('now')).'.'.$extension; $imagePath = $requestImage->storeAs('campaigns', $imageName, 'public'); @@ -140,7 +140,7 @@ public function update($id, Request $request) $extension = $requestImage->extension(); - $imageName = md5($requestImage->getClientOriginalName() . strtotime('now')) . '.' . $extension; + $imageName = md5($requestImage->getClientOriginalName().strtotime('now')).'.'.$extension; $imagePath = $requestImage->storeAs('campaigns', $imageName, 'public'); diff --git a/app/Http/Controllers/DonationController.php b/app/Http/Controllers/DonationController.php index ba1bad6..d19fc56 100644 --- a/app/Http/Controllers/DonationController.php +++ b/app/Http/Controllers/DonationController.php @@ -17,7 +17,7 @@ public function donate($id) if (Gate::allows('verify-cpf', auth()->user())) { $campaign = Campaign::findOrFail($id); if ($campaign->meta['current'] >= $campaign->meta['target']) { - return redirect('/campaign/' . $campaign->id); + return redirect('/campaign/'.$campaign->id); } return view('donations.donate', compact('campaign')); @@ -45,7 +45,7 @@ public function store(Request $request, $id) $donation->save(); - $url = url('/confirm/' . $donation->id); + $url = url('/confirm/'.$donation->id); $qrcode = QrCode::format('png')->size(200)->generate($url); @@ -53,7 +53,7 @@ public function store(Request $request, $id) $donation->save(); - return redirect('/donation/' . $donation->id); + return redirect('/donation/'.$donation->id); } public function show($id) diff --git a/routes/web.php b/routes/web.php index b7d4c4d..3623422 100644 --- a/routes/web.php +++ b/routes/web.php @@ -41,4 +41,4 @@ Route::patch('/cpf', [ProfileController::class, 'registerCpf']); }); -require __DIR__ . '/auth.php'; +require __DIR__.'/auth.php';