From 2d362b54dca6e8b93850963c371c02b7c63a9010 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 12 Jan 2026 09:46:54 +0700 Subject: [PATCH] feat: Remove custom page classes for login, registration, media, company, and verification management --- app/Filament/Pages/{CustomCompany.php => Company.php} | 8 ++++---- app/Filament/Pages/{CustomLogin.php => Login.php} | 4 ++-- app/Filament/Pages/{CustomMedia.php => Media.php} | 4 ++-- .../Pages/{CustomRegistration.php => Registration.php} | 2 +- .../Pages/{CustomVerification.php => Verification.php} | 5 +++-- .../Resources/Manage/Journalists/JournalistResource.php | 9 +++++---- app/Providers/Filament/DashboardPanelProvider.php | 8 ++++---- app/Services/VerificationService.php | 9 ++++++--- database/seeders/ShieldSeeder.php | 6 +++--- .../pages/{custom-media.blade.php => media.blade.php} | 0 10 files changed, 30 insertions(+), 25 deletions(-) rename app/Filament/Pages/{CustomCompany.php => Company.php} (98%) rename app/Filament/Pages/{CustomLogin.php => Login.php} (98%) rename app/Filament/Pages/{CustomMedia.php => Media.php} (98%) rename app/Filament/Pages/{CustomRegistration.php => Registration.php} (98%) rename app/Filament/Pages/{CustomVerification.php => Verification.php} (96%) rename resources/views/filament/pages/{custom-media.blade.php => media.blade.php} (100%) diff --git a/app/Filament/Pages/CustomCompany.php b/app/Filament/Pages/Company.php similarity index 98% rename from app/Filament/Pages/CustomCompany.php rename to app/Filament/Pages/Company.php index fdea9c9..a85b8c0 100644 --- a/app/Filament/Pages/CustomCompany.php +++ b/app/Filament/Pages/Company.php @@ -2,7 +2,7 @@ namespace App\Filament\Pages; -use App\Models\Company; +use App\Models\Company as CompanyModel; use App\Models\VerificationRequest; use Asmit\FilamentUpload\Forms\Components\AdvancedFileUpload; use BackedEnum; @@ -18,7 +18,7 @@ use Illuminate\Support\Facades\Storage; use UnitEnum; -class CustomCompany extends Page +class Company extends Page { use HasPageShield; @@ -38,7 +38,7 @@ class CustomCompany extends Page protected static ?string $recordTitleAttribute = 'name'; - public ?Company $company = null; + public ?CompanyModel $company = null; public ?VerificationRequest $verificationRequest = null; @@ -254,7 +254,7 @@ public function save() { $data = $this->form->getState(); - $company = Company::updateOrCreate([ + $company = CompanyModel::updateOrCreate([ 'id' => $this->company?->id, ], [ 'user_id' => auth()->id(), diff --git a/app/Filament/Pages/CustomLogin.php b/app/Filament/Pages/Login.php similarity index 98% rename from app/Filament/Pages/CustomLogin.php rename to app/Filament/Pages/Login.php index 95478cb..5f1709a 100644 --- a/app/Filament/Pages/CustomLogin.php +++ b/app/Filament/Pages/Login.php @@ -5,7 +5,7 @@ use DanHarrin\LivewireRateLimiting\Exceptions\TooManyRequestsException; use Filament\Auth\Http\Responses\Contracts\LoginResponse; use Filament\Auth\MultiFactor\Contracts\HasBeforeChallengeHook; -use Filament\Auth\Pages\Login; +use Filament\Auth\Pages\Login as FilamentLogin; use Filament\Facades\Filament; use Filament\Forms\Components\TextInput; use Filament\Models\Contracts\FilamentUser; @@ -19,7 +19,7 @@ use Illuminate\Validation\ValidationException; use SensitiveParameter; -class CustomLogin extends Login +class Login extends FilamentLogin { public function getHeading(): string|Htmlable { diff --git a/app/Filament/Pages/CustomMedia.php b/app/Filament/Pages/Media.php similarity index 98% rename from app/Filament/Pages/CustomMedia.php rename to app/Filament/Pages/Media.php index 40e3b00..a66aba8 100644 --- a/app/Filament/Pages/CustomMedia.php +++ b/app/Filament/Pages/Media.php @@ -22,11 +22,11 @@ use Illuminate\Support\Facades\Storage; use UnitEnum; -class CustomMedia extends Page +class Media extends Page { use HasPageShield; - protected string $view = 'filament.pages.custom-media'; + protected string $view = 'filament.pages.media'; protected static ?string $title = 'Media'; diff --git a/app/Filament/Pages/CustomRegistration.php b/app/Filament/Pages/Registration.php similarity index 98% rename from app/Filament/Pages/CustomRegistration.php rename to app/Filament/Pages/Registration.php index 92a677a..b42633d 100644 --- a/app/Filament/Pages/CustomRegistration.php +++ b/app/Filament/Pages/Registration.php @@ -10,7 +10,7 @@ use Illuminate\Support\Facades\Hash; use Illuminate\Validation\Rules\Password; -class CustomRegistration extends Register +class Registration extends Register { public function getHeading(): string|Htmlable { diff --git a/app/Filament/Pages/CustomVerification.php b/app/Filament/Pages/Verification.php similarity index 96% rename from app/Filament/Pages/CustomVerification.php rename to app/Filament/Pages/Verification.php index c35dfbb..1c21fb6 100644 --- a/app/Filament/Pages/CustomVerification.php +++ b/app/Filament/Pages/Verification.php @@ -15,13 +15,14 @@ use Filament\Forms\Contracts\HasForms; use Filament\Notifications\Notification; use Filament\Pages\Page; +use Filament\Support\Icons\Heroicon; use UnitEnum; -class CustomVerification extends Page implements HasActions, HasForms +class Verification extends Page implements HasActions, HasForms { use HasPageShield, InteractsWithActions, InteractsWithForms; - protected static string|BackedEnum|null $navigationIcon = 'heroicon-o-check-badge'; + protected static string|BackedEnum|null $navigationIcon = Heroicon::CheckBadge; protected static ?string $title = 'Verifikasi'; diff --git a/app/Filament/Resources/Manage/Journalists/JournalistResource.php b/app/Filament/Resources/Manage/Journalists/JournalistResource.php index ad5f2d4..6f11617 100644 --- a/app/Filament/Resources/Manage/Journalists/JournalistResource.php +++ b/app/Filament/Resources/Manage/Journalists/JournalistResource.php @@ -2,8 +2,9 @@ namespace App\Filament\Resources\Manage\Journalists; +use App\Enums\VerificationStatus; use App\Filament\Columns\TimestampColumns; -use App\Filament\Pages\CustomMedia; +use App\Filament\Pages\Media; use App\Filament\Resources\Manage\Journalists\Pages\ManageJournalists; use App\Models\Journalist; use Asmit\FilamentUpload\Forms\Components\AdvancedFileUpload; @@ -258,7 +259,7 @@ public static function table(Table $table): Table ->latest() ->first(); - if ($verificationRequest && $verificationRequest->status !== \App\Enums\VerificationStatus::NEED_REVISION) { + if ($verificationRequest && $verificationRequest->status !== VerificationStatus::NEED_REVISION) { return false; } @@ -282,7 +283,7 @@ public static function table(Table $table): Table ->latest() ->first(); - if ($verificationRequest && $verificationRequest->status !== \App\Enums\VerificationStatus::NEED_REVISION) { + if ($verificationRequest && $verificationRequest->status !== VerificationStatus::NEED_REVISION) { return false; } @@ -325,7 +326,7 @@ public static function table(Table $table): Table ->emptyStateActions([ Action::make('completeMedia') ->label('Lengkapi Data Media') - ->url(CustomMedia::getUrl()) + ->url(Media::getUrl()) ->button(), ]); }); diff --git a/app/Providers/Filament/DashboardPanelProvider.php b/app/Providers/Filament/DashboardPanelProvider.php index 6a3fe84..2f21535 100644 --- a/app/Providers/Filament/DashboardPanelProvider.php +++ b/app/Providers/Filament/DashboardPanelProvider.php @@ -2,8 +2,8 @@ namespace App\Providers\Filament; -use App\Filament\Pages\CustomLogin; -use App\Filament\Pages\CustomRegistration; +use App\Filament\Pages\Login; +use App\Filament\Pages\Registration; use BezhanSalleh\FilamentShield\FilamentShieldPlugin; use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\AuthenticateSession; @@ -47,8 +47,8 @@ public function panel(Panel $panel): Panel ->default() ->id('dashboard') ->path('dashboard') - ->login(CustomLogin::class) - ->registration(CustomRegistration::class) + ->login(Login::class) + ->registration(Registration::class) ->emailVerification() ->colors([ 'primary' => Color::Blue, diff --git a/app/Services/VerificationService.php b/app/Services/VerificationService.php index 785e633..5d99e02 100644 --- a/app/Services/VerificationService.php +++ b/app/Services/VerificationService.php @@ -4,6 +4,9 @@ use App\Enums\DecisionAdmin; use App\Enums\VerificationStatus; +use App\Filament\Pages\Company as PagesCompany; +use App\Filament\Pages\Media; +use App\Filament\Resources\Manage\Journalists\Pages\ManageJournalists; use App\Models\Company; use App\Models\VerificationRequest; use App\Models\VerificationReview; @@ -362,7 +365,7 @@ public function getMissingDataButtons(?Company $company): array if (! $company) { $buttons[] = [ 'label' => 'Lengkapi Data Perusahaan', - 'url' => \App\Filament\Pages\CustomCompany::getUrl(), + 'url' => PagesCompany::getUrl(), 'icon' => 'building-office-2', 'color' => 'warning', ]; @@ -371,7 +374,7 @@ public function getMissingDataButtons(?Company $company): array if ($company && ! $company->partnerMedia) { $buttons[] = [ 'label' => 'Lengkapi Data Media', - 'url' => \App\Filament\Pages\CustomMedia::getUrl(), + 'url' => Media::getUrl(), 'icon' => 'newspaper', 'color' => 'warning', ]; @@ -380,7 +383,7 @@ public function getMissingDataButtons(?Company $company): array if ($company && $company->partnerMedia && ($company->partnerMedia->journalists === null || $company->partnerMedia->journalists->count() === 0)) { $buttons[] = [ 'label' => 'Lengkapi Data Jurnalis', - 'url' => \App\Filament\Resources\Manage\Journalists\Pages\ManageJournalists::getUrl(), + 'url' => ManageJournalists::getUrl(), 'icon' => 'user-circle', 'color' => 'warning', ]; diff --git a/database/seeders/ShieldSeeder.php b/database/seeders/ShieldSeeder.php index 3857955..c789bf2 100644 --- a/database/seeders/ShieldSeeder.php +++ b/database/seeders/ShieldSeeder.php @@ -440,9 +440,9 @@ public function run(): void "name": "Perusahaan", "guard_name": "web", "permissions": [ - "View:CustomCompany", - "View:CustomMedia", - "View:CustomVerification", + "View:Company", + "View:Media", + "View:Verification", "ViewAny:Cooperation", "View:Cooperation", "Create:Cooperation", diff --git a/resources/views/filament/pages/custom-media.blade.php b/resources/views/filament/pages/media.blade.php similarity index 100% rename from resources/views/filament/pages/custom-media.blade.php rename to resources/views/filament/pages/media.blade.php