From bd122f77b927fcd9cdfca9440edd2e7644a8a9d2 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Thu, 8 Jan 2026 09:42:40 +0700 Subject: [PATCH] feat: Add navigation badge for pending verification requests and implement pending scope in VerificationRequest model --- app/Filament/Pages/AdminVerification.php | 7 ++++++- app/Models/VerificationRequest.php | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Filament/Pages/AdminVerification.php b/app/Filament/Pages/AdminVerification.php index f5f0921..c8007e5 100644 --- a/app/Filament/Pages/AdminVerification.php +++ b/app/Filament/Pages/AdminVerification.php @@ -40,6 +40,11 @@ class AdminVerification extends Page implements HasActions, HasForms public string $filterStatus = 'all'; + public static function getNavigationBadge(): ?string + { + return VerificationRequest::query()->pending()->count(); + } + public function getVerifications(): LengthAwarePaginator { $query = VerificationRequest::with([ @@ -136,7 +141,7 @@ public function approveAction(): Action ->modalHeading('Setujui Verifikasi') ->modalDescription('Apakah Anda yakin ingin menyetujui verifikasi ini?') ->modalSubmitActionLabel('Ya, Setujui') - ->form([ + ->schema([ Textarea::make('note') ->label('Catatan (Opsional)') ->placeholder('Tambahkan catatan jika diperlukan...'), diff --git a/app/Models/VerificationRequest.php b/app/Models/VerificationRequest.php index 6f10228..7a09789 100644 --- a/app/Models/VerificationRequest.php +++ b/app/Models/VerificationRequest.php @@ -3,6 +3,8 @@ namespace App\Models; use App\Enums\VerificationStatus; +use Illuminate\Database\Eloquent\Attributes\Scope; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; @@ -22,6 +24,12 @@ protected function casts(): array ]; } + #[Scope] + protected function pending(Builder $query): void + { + $query->where('status', VerificationStatus::PENDING); + } + public function verifiable(): MorphTo { return $this->morphTo();