striped() ->columns([ TextColumn::make('id')->badge(), TextColumn::make('provider.name')->badge() ->color(fn ($record): string => match ($record->provider_id) { 1 => 'danger', 2 => 'success', default => 'warning', }), SelectColumn::make('name') ->options([ 'Fixtures' => 'Fixtures', 'Odds' => 'Odds', 'Willhill' => 'Willhill', 'Bwin' => 'Bwin', 'Bet365' => 'Bet365', 'Betfair' => 'Betfair', ]), TextColumn::make('sport.name')->label('Sport')->color(fn ($record): string => $record->sport->color), TextInputColumn::make('days_from')->width('1rem') ->extraAttributes(['class' => 'small-text-input-column']), TextInputColumn::make('days_to')->width('1rem'), TextColumn::make('sleep')->numeric(), TextColumn::make('runtime')->label('Run Time'), TextColumn::make('maxsconds')->label('Max Time'), IconColumn::make('is_cron')->boolean()->label('Cron'), ToggleColumn::make('is_active')->label('Active'), ]) ->filters([ SelectFilter::make('provider_id') ->default(1) ->relationship('provider', 'name') ->label('Provider'), ], layout: FiltersLayout::AboveContent) ->deferFilters(false) ->recordActions([ EditAction::make()->hiddenLabel(), ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]); } }