query(RadioSongPlay::query()) ->defaultSort('played_at', 'desc') ->columns([ TextColumn::make('title') ->label('Titel') ->searchable() ->sortable(), TextColumn::make('artist') ->label('Artiest') ->searchable() ->sortable(), TextColumn::make('played_at') ->label('Gespeeld op') ->dateTime('d-m-Y H:i:s') ->sortable(), TextColumn::make('duration') ->label('Duur') ->formatStateUsing(fn ($state) => $state ? gmdate('i:s', $state) : '-') ->sortable(), ]) ->filters([ SelectFilter::make('artist') ->label('Artiest') ->options(fn () => RadioSongPlay::distinct()->whereNotNull('artist')->pluck('artist', 'artist')->toArray()) ->searchable(), ]) ->recordActions([ DeleteAction::make() ->label('Verwijderen'), ]) ->bulkActions([ DeleteBulkAction::make() ->label('Selectie verwijderen'), ]) ->poll('30s'); } #[\Override] public static function getPages(): array { return [ 'index' => ManageRadioSongPlays::route('/'), ]; } }