From 3313f3104825c8e40ab5b9fc27d5a56e4e5dbef4 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 16 Mar 2026 22:54:20 +0700 Subject: [PATCH] feat: Cast `MediaMonitoring` channel to an enum and display it as a colored badge in the monitoring table. --- .../MediaMonitorings/Tables/MediaMonitoringsTable.php | 4 +++- app/Models/MediaMonitoring.php | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php b/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php index 7bcd44e..430dd89 100644 --- a/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php +++ b/app/Filament/Resources/Monitoring/MediaMonitorings/Tables/MediaMonitoringsTable.php @@ -48,7 +48,9 @@ public static function configure(Table $table): Table TextColumn::make('channel') ->label('Kanal') ->searchable() - ->sortable(), + ->sortable() + ->badge() + ->color(fn (Channel $state): string => $state->getColor()), TextColumn::make('writter') ->label('Penulis') diff --git a/app/Models/MediaMonitoring.php b/app/Models/MediaMonitoring.php index 7bf5e02..9d968c9 100644 --- a/app/Models/MediaMonitoring.php +++ b/app/Models/MediaMonitoring.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Enums\Channel; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; @@ -22,6 +23,7 @@ protected function casts(): array { return [ 'release_date' => 'date', + 'channel' => Channel::class, ]; }