38 lines
1.4 KiB
PHP
38 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Resources\Manage\Journalists\Pages;
|
|
|
|
use App\Enums\RoleEnum;
|
|
use App\Enums\VerificationStatus;
|
|
use App\Filament\Resources\Manage\Journalists\Actions\CreateJournalistAction;
|
|
use App\Filament\Resources\Manage\Journalists\JournalistResource;
|
|
use App\Filament\Support\CheerfulNotification;
|
|
use Filament\Resources\Pages\ManageRecords;
|
|
|
|
class ManageJournalists extends ManageRecords
|
|
{
|
|
protected static string $resource = JournalistResource::class;
|
|
|
|
public function getTitle(): string
|
|
{
|
|
return CheerfulNotification::getMessage('Jurnalis ✍️✨', 'Kelola Jurnalis');
|
|
}
|
|
|
|
public function getSubheading(): ?string
|
|
{
|
|
return CheerfulNotification::getMessage('Kelola data jurnalis yang terdaftar di media Anda! ✍️📋', 'Halaman ini digunakan untuk mengelola daftar jurnalis yang bernaung di bawah media Anda.');
|
|
}
|
|
|
|
protected function getHeaderActions(): array
|
|
{
|
|
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && ! auth()->user()->company?->partnerMedia) {
|
|
return [];
|
|
}
|
|
|
|
return [
|
|
CreateJournalistAction::make()
|
|
->visible(fn () => ! (in_array(auth()->user()->company?->verificationRequest?->status, [VerificationStatus::PENDING, VerificationStatus::REJECTED]) || auth()->user()->company?->verificationRequest()->pending()->exists())),
|
|
];
|
|
}
|
|
}
|