From 996058e4a7b3cc7d90bbe49b6c79c9ce2fc6c3dd Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Fri, 27 Mar 2026 09:36:22 +0700 Subject: [PATCH] feat: Update empty state descriptions across various resources to use cheerful notifications for improved user engagement and clarity. --- .../RelationManagers/CooperationMediaRelationManager.php | 3 ++- .../RelationManagers/CooperationPaymentRelationManager.php | 3 ++- .../RelationManagers/CooperationProposalRelationManager.php | 2 +- .../Cooperations/RelationManagers/ReportRelationManager.php | 2 +- .../RelationManagers/TaskAssignmentRelationManager.php | 2 +- .../Resources/Manage/Journalists/JournalistResource.php | 5 +++-- .../Resources/Master/Categories/CategoryResource.php | 2 +- .../Master/Classifications/ClassificationResource.php | 2 +- .../Resources/Master/Departments/DepartmentResource.php | 2 +- app/Filament/Resources/Master/Locations/LocationResource.php | 2 +- .../Resources/Master/SubLocations/SubLocationResource.php | 2 +- app/Filament/Resources/Master/Themes/ThemeResource.php | 2 +- .../Monitoring/ContentRecaps/Tables/ContentRecapsTable.php | 3 ++- .../IssueManagements/Tables/IssueManagementTable.php | 3 ++- .../MediaMonitorings/Tables/MediaMonitoringsTable.php | 3 ++- .../Publication/Announcements/AnnouncementResource.php | 3 ++- app/Filament/Resources/Publication/News/Tables/NewsTable.php | 3 ++- app/Filament/Resources/Visitors/VisitorResource.php | 3 ++- 18 files changed, 28 insertions(+), 19 deletions(-) diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php index 3383397..ee4f703 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php @@ -6,6 +6,7 @@ use App\Enums\RoleEnum; use App\Filament\Columns\RowIndexColumn; use App\Filament\Resources\Manage\Cooperations\Actions\Media\PayAction; +use App\Filament\Support\CheerfulNotification; use App\Models\CooperationMedia; use Filament\Actions\ViewAction; use Filament\Infolists\Components\ImageEntry; @@ -64,7 +65,7 @@ public function table(Table $table): Table ->visible(fn (CooperationMedia $record): bool => $record->status === ApprovalStatus::ACCEPTED && $record->payment()->exists()), ]) ->emptyStateIcon(Heroicon::OutlinedNewspaper) - ->emptyStateDescription('Tidak ada media yang diikutsertakan.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Daftar media pendukung masih kosong nih! Yuk, tambahkan media sekarang. πŸ“°βœ¨', 'Belum ada data media yang tersedia.')) ->defaultSort('created_at', 'desc'); } diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationPaymentRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationPaymentRelationManager.php index 89817ae..f83cbfc 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationPaymentRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationPaymentRelationManager.php @@ -5,6 +5,7 @@ use App\Enums\ApprovalStatus; use App\Enums\RoleEnum; use App\Filament\Columns\RowIndexColumn; +use App\Filament\Support\CheerfulNotification; use App\Models\CooperationPayment; use Filament\Resources\RelationManagers\RelationManager; use Filament\Support\Icons\Heroicon; @@ -65,7 +66,7 @@ public function table(Table $table): Table ->headerActions([]) ->recordActions([]) ->emptyStateIcon(Heroicon::OutlinedCreditCard) - ->emptyStateDescription('Belum ada data pembayaran.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Ups! Belum ada data pembayaran yang tercatat nih. Sabar ya! πŸ’Έβœ¨', 'Belum ada data pembayaran yang tersedia saat ini.')) ->defaultSort('created_at', 'desc'); } diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php index b527500..fe5153a 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php @@ -115,7 +115,7 @@ public function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedDocumentText) - ->emptyStateDescription('Tidak ada proposal yang diajukan.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada proposal yang masuk nih! Tenang, nanti juga ada yang tertarik kok. βœ¨πŸš€', 'Belum ada data proposal yang diajukan saat ini.')) ->defaultSort('created_at', 'desc'); } diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php index a13173d..d20861a 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php @@ -219,7 +219,7 @@ public function table(Table $table): Table ]) ->toolbarActions([]) ->emptyStateIcon(Heroicon::OutlinedInboxArrowDown) - ->emptyStateDescription('Tidak ada laporan yang diajukan.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada laporan yang dikirimkan nih! Yuk, kirimkan hasil kerjamu sekarang juga! πŸš€βœ¨', 'Belum ada data laporan yang diajukan saat ini.')) ->defaultSort('created_at', 'desc'); } diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php index 229e9f0..ec23fe3 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php @@ -104,6 +104,6 @@ public function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedArchiveBoxXMark) - ->emptyStateDescription('Tidak ada penugasan yang ditugaskan.'); + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada penugasan nih! Mari buat penugasan pertama untuk media. πŸš€βœ¨', 'Tidak ada data penugasan yang tersedia.')); } } diff --git a/app/Filament/Resources/Manage/Journalists/JournalistResource.php b/app/Filament/Resources/Manage/Journalists/JournalistResource.php index 00cc2c2..b703dcb 100644 --- a/app/Filament/Resources/Manage/Journalists/JournalistResource.php +++ b/app/Filament/Resources/Manage/Journalists/JournalistResource.php @@ -12,6 +12,7 @@ use App\Filament\Resources\Manage\Journalists\Actions\DeleteJournalistAction; use App\Filament\Resources\Manage\Journalists\Actions\EditJournalistAction; use App\Filament\Resources\Manage\Journalists\Pages\ManageJournalists; +use App\Filament\Support\CheerfulNotification; use App\Models\Journalist; use Asmit\FilamentUpload\Forms\Components\AdvancedFileUpload; use BackedEnum; @@ -206,7 +207,7 @@ public static function table(Table $table): Table ])->visible(fn () => ! (in_array(auth()->user()->company?->verificationRequest?->status, [VerificationStatus::PENDING, VerificationStatus::REJECTED]) || auth()->user()->company?->verificationRequest()->pending()->exists())), ]) ->emptyStateIcon(Heroicon::OutlinedIdentification) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Jurnalis nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Jurnalis yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) @@ -214,7 +215,7 @@ public static function table(Table $table): Table ->when(auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && ! auth()->user()->company?->partnerMedia, function (Table $table): Table { return $table ->emptyStateHeading('Akses Dibatasi') - ->emptyStateDescription('Silakan lengkapi data media Anda terlebih dahulu untuk dapat mengelola informasi jurnalis.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Ups! Silakan lengkapi data media Anda dulu ya sebelum mengelola jurnalis. βœ¨πŸ“', 'Silakan lengkapi data media Anda terlebih dahulu untuk dapat mengelola informasi jurnalis.')) ->emptyStateIcon(Heroicon::OutlinedLockClosed) ->emptyStateActions([ Action::make('complete_media') diff --git a/app/Filament/Resources/Master/Categories/CategoryResource.php b/app/Filament/Resources/Master/Categories/CategoryResource.php index 778256c..80d148d 100644 --- a/app/Filament/Resources/Master/Categories/CategoryResource.php +++ b/app/Filament/Resources/Master/Categories/CategoryResource.php @@ -111,7 +111,7 @@ public static function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedListBullet) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Kategori nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Kategori yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Master/Classifications/ClassificationResource.php b/app/Filament/Resources/Master/Classifications/ClassificationResource.php index 1375960..e2c3e85 100644 --- a/app/Filament/Resources/Master/Classifications/ClassificationResource.php +++ b/app/Filament/Resources/Master/Classifications/ClassificationResource.php @@ -111,7 +111,7 @@ public static function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedBookOpen) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Klasifikasi nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Klasifikasi yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Master/Departments/DepartmentResource.php b/app/Filament/Resources/Master/Departments/DepartmentResource.php index 5f9b976..a753f64 100644 --- a/app/Filament/Resources/Master/Departments/DepartmentResource.php +++ b/app/Filament/Resources/Master/Departments/DepartmentResource.php @@ -122,7 +122,7 @@ public static function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedBuildingLibrary) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data OPD nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data OPD yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Master/Locations/LocationResource.php b/app/Filament/Resources/Master/Locations/LocationResource.php index f9e0391..23df7a3 100644 --- a/app/Filament/Resources/Master/Locations/LocationResource.php +++ b/app/Filament/Resources/Master/Locations/LocationResource.php @@ -111,7 +111,7 @@ public static function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedMapPin) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Lokus nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Lokus yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Master/SubLocations/SubLocationResource.php b/app/Filament/Resources/Master/SubLocations/SubLocationResource.php index 23140b5..db45e68 100644 --- a/app/Filament/Resources/Master/SubLocations/SubLocationResource.php +++ b/app/Filament/Resources/Master/SubLocations/SubLocationResource.php @@ -129,7 +129,7 @@ public static function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedNumberedList) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Sublokus nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Sublokus yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Master/Themes/ThemeResource.php b/app/Filament/Resources/Master/Themes/ThemeResource.php index 55c5aa3..6952dbe 100644 --- a/app/Filament/Resources/Master/Themes/ThemeResource.php +++ b/app/Filament/Resources/Master/Themes/ThemeResource.php @@ -105,7 +105,7 @@ public static function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedPuzzlePiece) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Tema nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Tema yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Monitoring/ContentRecaps/Tables/ContentRecapsTable.php b/app/Filament/Resources/Monitoring/ContentRecaps/Tables/ContentRecapsTable.php index 72fcbb5..caae46b 100644 --- a/app/Filament/Resources/Monitoring/ContentRecaps/Tables/ContentRecapsTable.php +++ b/app/Filament/Resources/Monitoring/ContentRecaps/Tables/ContentRecapsTable.php @@ -13,6 +13,7 @@ use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; +use App\Filament\Support\CheerfulNotification; use App\Models\ContentRecap; use Filament\Actions\BulkActionGroup; use Filament\Forms\Components\DatePicker; @@ -200,7 +201,7 @@ public static function configure(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedClipboardDocumentList) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Rekap Konten nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Rekap Konten yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Monitoring/IssueManagements/Tables/IssueManagementTable.php b/app/Filament/Resources/Monitoring/IssueManagements/Tables/IssueManagementTable.php index 3e35f85..498c0cd 100644 --- a/app/Filament/Resources/Monitoring/IssueManagements/Tables/IssueManagementTable.php +++ b/app/Filament/Resources/Monitoring/IssueManagements/Tables/IssueManagementTable.php @@ -11,6 +11,7 @@ use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; +use App\Filament\Support\CheerfulNotification; use Filament\Actions\BulkActionGroup; use Filament\Forms\Components\DatePicker; use Filament\Forms\Components\Select; @@ -228,7 +229,7 @@ public static function configure(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedExclamationCircle) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Manajemen Isu nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Manajemen Isu yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php b/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php index d1b22a9..413c87b 100644 --- a/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php +++ b/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php @@ -11,6 +11,7 @@ use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; +use App\Filament\Support\CheerfulNotification; use Filament\Actions\BulkActionGroup; use Filament\Forms\Components\DatePicker; use Filament\Forms\Components\Select; @@ -213,7 +214,7 @@ public static function configure(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedClipboardDocumentCheck) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Monitoring Media nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Monitoring Media yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Publication/Announcements/AnnouncementResource.php b/app/Filament/Resources/Publication/Announcements/AnnouncementResource.php index 79dd28f..8c5af5f 100644 --- a/app/Filament/Resources/Publication/Announcements/AnnouncementResource.php +++ b/app/Filament/Resources/Publication/Announcements/AnnouncementResource.php @@ -12,6 +12,7 @@ use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Publication\Announcements\Pages\ManageAnnouncements; +use App\Filament\Support\CheerfulNotification; use App\Models\Announcement; use BackedEnum; use Filament\Actions\Action; @@ -161,7 +162,7 @@ public static function table(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedMegaphone) - ->emptyStateDescription('Setelah Anda membuat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Pengumuman nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Pengumuman yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Publication/News/Tables/NewsTable.php b/app/Filament/Resources/Publication/News/Tables/NewsTable.php index ac799f4..3e929ed 100644 --- a/app/Filament/Resources/Publication/News/Tables/NewsTable.php +++ b/app/Filament/Resources/Publication/News/Tables/NewsTable.php @@ -11,6 +11,7 @@ use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; +use App\Filament\Support\CheerfulNotification; use App\Models\News; use Filament\Actions\BulkActionGroup; use Filament\Support\Icons\Heroicon; @@ -114,7 +115,7 @@ public static function configure(Table $table): Table ]), ]) ->emptyStateIcon(Heroicon::OutlinedNewspaper) - ->emptyStateDescription('Setelah Anda membuat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Berita nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Berita yang tersedia saat ini.')) ->defaultSort('created_at', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all']) diff --git a/app/Filament/Resources/Visitors/VisitorResource.php b/app/Filament/Resources/Visitors/VisitorResource.php index 5a144b0..24c1c02 100644 --- a/app/Filament/Resources/Visitors/VisitorResource.php +++ b/app/Filament/Resources/Visitors/VisitorResource.php @@ -4,6 +4,7 @@ use App\Filament\Columns\RowIndexColumn; use App\Filament\Resources\Visitors\Pages\ManageVisitors; +use App\Filament\Support\CheerfulNotification; use App\Models\Visitor; use BackedEnum; use Filament\Forms\Components\DatePicker; @@ -167,7 +168,7 @@ public static function table(Table $table): Table ], FiltersLayout::AboveContentCollapsible) ->filtersFormColumns(3) ->emptyStateIcon(Heroicon::OutlinedChartBar) - ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->emptyStateDescription(fn () => CheerfulNotification::getMessage('Belum ada data Pengunjung nih! Mulai buat data pertama sekarang biar makin rame! πŸš€βœ¨', 'Belum ada data Pengunjung yang tersedia saat ini.')) ->defaultSort('date', 'desc') ->deferFilters(false) ->paginated([25, 50, 100, 'all'])