From 6574684f469a5a67d25665d1ae35b78a46c4b63f Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 19 Jan 2026 09:40:46 +0700 Subject: [PATCH] refactor: Update modal headings and descriptions for clarity, enhance date formatting, and improve user notifications in verification processes. --- app/Filament/Pages/AdminVerification.php | 29 +++++++------------ app/Filament/Pages/Verification.php | 6 ++-- app/Services/VerificationService.php | 2 +- database/factories/UserFactory.php | 2 +- .../pages/admin-verification.blade.php | 16 +++++----- .../filament/pages/verification.blade.php | 2 +- 6 files changed, 24 insertions(+), 33 deletions(-) diff --git a/app/Filament/Pages/AdminVerification.php b/app/Filament/Pages/AdminVerification.php index 76323df..78d92df 100644 --- a/app/Filament/Pages/AdminVerification.php +++ b/app/Filament/Pages/AdminVerification.php @@ -5,6 +5,7 @@ use App\Enums\DecisionAdmin; use App\Enums\VerificationStatus; use App\Filament\Resources\Manage\Partners\Pages\ViewPartner; +use App\Filament\Support\CheerfulNotification; use App\Models\User; use App\Models\VerificationRequest; use App\Notifications\BroadcastNotification; @@ -161,8 +162,8 @@ public function approveAction(): Action ->icon('heroicon-o-check') ->size('sm') ->requiresConfirmation() - ->modalHeading('Setujui Verifikasi Lengkap') - ->modalDescription('Apakah Anda yakin ingin menyetujui verifikasi ini? Status akan diterapkan pada Perusahaan, Media, dan semua Jurnalis sekaligus.') + ->modalHeading('Setujui Verifikasi') + ->modalDescription('Apakah Anda yakin ingin menyetujui verifikasi ini? Pastikan data sudah benar dan lengkap.') ->modalSubmitActionLabel('Ya, Setujui') ->action(function (array $arguments, array $data): void { $this->processReview($arguments['id'], DecisionAdmin::APPROVED, $data['note'] ?? null); @@ -180,13 +181,12 @@ public function revisionAction(): Action ->icon('heroicon-o-pencil-square') ->size('sm') ->modalHeading('Minta Revisi') - ->modalDescription('User akan diminta untuk memperbaiki data sesuai catatan yang diberikan.') + ->modalDescription('Pengguna akan diminta untuk memperbaiki data sesuai catatan yang diberikan.') ->schema([ Textarea::make('note') ->label('Catatan Revisi') ->required() ->placeholder('Jelaskan bagian yang perlu diperbaiki (Perusahaan, Media, atau Jurnalis)...') - ->helperText('Catatan ini akan ditampilkan kepada user.') ->autocomplete(false) ->autofocus(), ]) @@ -206,15 +206,14 @@ public function rejectAction(): Action ->icon('heroicon-o-x-mark') ->size('sm') ->requiresConfirmation() - ->modalHeading('Tolak Verifikasi Lengkap') - ->modalDescription('Pengajuan akan ditolak secara permanen. Status REJECTED akan diterapkan pada Perusahaan, Media, dan semua Jurnalis. User tidak dapat mengajukan ulang untuk data ini.') + ->modalHeading('Tolak Verifikasi') + ->modalDescription('Pengajuan akan ditolak secara permanen. Pengguna tidak dapat mengajukan ulang untuk data ini.') ->modalSubmitActionLabel('Ya, Tolak') ->schema([ Textarea::make('note') ->label('Alasan Penolakan') ->required() ->placeholder('Jelaskan alasan pengajuan ditolak...') - ->helperText('Alasan ini akan ditampilkan kepada user.') ->autocomplete(false) ->autofocus(), ]) @@ -249,16 +248,10 @@ protected function processReview(int $requestId, DecisionAdmin $decision, ?strin DecisionAdmin::REJECTED => 'ditolak', }; - $color = match ($decision) { - DecisionAdmin::APPROVED => 'success', - DecisionAdmin::NEED_REVISION => 'info', - DecisionAdmin::REJECTED => 'danger', - }; - - Notification::make() - ->title('Berhasil Diproses! ✨') - ->body("Mantap! Verifikasi telah {$actionLabel} dan notifikasi sudah dikirim ke user. Kerja bagus, Admin! 💪") - ->color($color) + CheerfulNotification::success( + 'Berhasil Diproses! ✨', + "Mantap! Verifikasi telah {$actionLabel} dan notifikasi sudah dikirim ke user. Kerja bagus, Admin! 💪" + ) ->send(); // Notify User @@ -271,7 +264,7 @@ protected function processReview(int $requestId, DecisionAdmin $decision, ?strin }; $body = match ($decision) { - DecisionAdmin::APPROVED => 'Yeay! Pengajuan verifikasi perusahaan Anda telah disetujui. Sekarang Anda sudah resmi terverifikasi! 🎊', + DecisionAdmin::APPROVED => 'Yeay! Pengajuan verifikasi perusahaan Anda telah disetujui. Sekarang Anda sudah resmi terverifikasi dan bekerja sama dengan kami! 🎊', DecisionAdmin::NEED_REVISION => 'Ayo sedikit lagi! Admin meminta beberapa perbaikan pada pengajuan Anda agar bisa segera disetujui. 💪', DecisionAdmin::REJECTED => 'Yah, maaf banget... pengajuan verifikasi perusahaan Anda belum bisa kami terima saat ini. 💔', }; diff --git a/app/Filament/Pages/Verification.php b/app/Filament/Pages/Verification.php index 3a9ddbd..fa769a9 100644 --- a/app/Filament/Pages/Verification.php +++ b/app/Filament/Pages/Verification.php @@ -77,7 +77,7 @@ public function getVerificationProgress(): array // Add additional data for view $progress['missingDataButtons'] = $this->verificationService->getMissingDataButtons($this->company); $progress['alert'] = $this->verificationService->getAlertData($this->verificationRequest); - $progress['lastSubmittedAt'] = $this->verificationRequest?->updated_at?->format('d M Y, H:i'); + $progress['lastSubmittedAt'] = $this->verificationRequest?->updated_at?->translatedFormat('l, d M Y H:i'); return $progress; } @@ -96,13 +96,13 @@ public function submitVerificationAction(): Action ->icon('heroicon-o-paper-airplane') ->color('primary') ->requiresConfirmation() - ->modalHeading('Ajukan Verifikasi Lengkap') + ->modalHeading('Ajukan Verifikasi') ->modalDescription(function () use ($progress): string { if (! $progress['isDataComplete']) { return 'Data belum lengkap. Silakan lengkapi terlebih dahulu: '.implode(', ', $progress['missingData']); } - return 'Apakah Anda yakin ingin mengajukan verifikasi untuk Perusahaan, Media, dan Jurnalis? Pastikan semua data sudah benar dan lengkap.'; + return 'Apakah Anda yakin ingin mengajukan verifikasi? Pastikan semua data sudah benar dan lengkap.'; }) ->modalSubmitActionLabel('Ya, Ajukan') ->visible(fn (): bool => $progress['canSubmit']) diff --git a/app/Services/VerificationService.php b/app/Services/VerificationService.php index 84ee7f8..1d81ea5 100644 --- a/app/Services/VerificationService.php +++ b/app/Services/VerificationService.php @@ -335,7 +335,7 @@ public function getAlertData(?VerificationRequest $verificationRequest): ?array 'type' => 'approved', 'icon' => 'check-circle', 'title' => 'Verifikasi Diterima', - 'message' => 'Verifikasi lengkap Anda telah diterima dan disetujui oleh admin. Seluruh data (Perusahaan, Media, dan Jurnalis) telah terverifikasi.', + 'message' => 'Verifikasi Anda telah diterima dan disetujui oleh admin. Sekarang Anda sudah resmi terverifikasi dan bekerja sama dengan kami!', 'color' => 'success', ]; } diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 63a39b2..fa69d4f 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -28,7 +28,7 @@ public function definition(): array 'email' => fake()->unique()->safeEmail(), 'username' => $this->faker->unique()->bothify('?????#####'), 'email_verified_at' => now(), - 'password' => static::$password ??= Hash::make('password'), + 'password' => static::$password ??= Hash::make(config('auth.password_default')), 'remember_token' => Str::random(10), ]; } diff --git a/resources/views/filament/pages/admin-verification.blade.php b/resources/views/filament/pages/admin-verification.blade.php index 77275d2..96d2467 100644 --- a/resources/views/filament/pages/admin-verification.blade.php +++ b/resources/views/filament/pages/admin-verification.blade.php @@ -113,9 +113,6 @@ title="{{ $card['companyName'] }}"> {{ $card['companyName'] }} -

- Perusahaan, Media & Jurnalis -

{{-- Status Badge --}} @@ -194,17 +191,18 @@ class="w-10 h-10 rounded-full bg-primary-100 dark:bg-primary-500/20 flex items-c

Diajukan

- {{ $verification->created_at->format('d M Y') }} + {{ $verification->created_at->translatedFormat('l, d M Y H:i') }}

- {{ $verification->created_at->format('H:i') }} + {{ $verification->created_at->diffForHumans() }}

-

Update Terakhir +

Pembaruan + Terakhir

- {{ $verification->updated_at->format('d M Y') }} + {{ $verification->updated_at->translatedFormat('l, d M Y H:i') }}

{{ $verification->updated_at->diffForHumans() }} @@ -284,7 +282,7 @@ class="w-4 h-4 text-gray-500 transition-transform duration-200" @endif

- {{ $review->created_at->format('d M Y, H:i') }} + {{ $review->created_at->translatedFormat('l, d M Y H:i') }}
@@ -314,7 +312,7 @@ class="w-4 h-4 text-gray-500 transition-transform duration-200" - Menunggu revisi dari user... + Menunggu revisi dari pengguna... @elseif($card['isApproved']) - {{ $review->created_at->format('d M Y, H:i') }} + {{ $review->created_at->translatedFormat('l, d M Y H:i') }}