feat: Update empty state descriptions across various resources to use cheerful notifications for improved user engagement and clarity.

This commit is contained in:
Yoga Pangestu 2026-03-27 09:36:22 +07:00
parent eaa8908663
commit 996058e4a7
18 changed files with 28 additions and 19 deletions

View File

@ -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');
}

View File

@ -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');
}

View File

@ -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');
}

View File

@ -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');
}

View File

@ -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.'));
}
}

View File

@ -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')

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])