poll('10s') ->striped() ->columns([ IconColumn::make('sport.icon') ->label('') ->width('1rem') ->size(IconSize::ExtraLarge) ->icon(fn ($record) => $record->sport->icon) ->tooltip(fn ($record) => $record->id), TextColumn::make('txodds_id')->label('Match Id')->badge()->copyable(), TextColumn::make('starttime') ->label('Start') ->alignCenter() ->dateTime('d.m') ->weight(FontWeight::Bold) ->description(fn ($state): string => Carbon::createFromDate($state)->format('H:i')), TextColumn::make('country.name') ->color('gray') ->label('Event') ->icon(fn ($record) => $record->country->icon) ->description(fn ($record) => $record->competition_group->name), TextColumn::make('home.name')->alignRight()->searchable(), TextColumn::make('away.name')->searchable(), Odds3Way::make('odds_3way.bookmaker')->label('1X2'), ]) ->defaultSort('starttime', 'ASC') ->deferFilters(false) ->filters([ SelectFilter::make('sport_id') ->label('Sport') ->default(1) ->selectablePlaceholder(false) ->relationship('sport', 'name', fn (Builder $query) => $query->where('is_active', 1)) ->preload(), // SelectFilter::make('competition_group_id') // ->label('Tornament') // ->options(fn () => Event::where('is_active', 1)->pluck('sport', 'id') // ->relationship('sport', 'name', fn (Builder $query) => $query->where('is_active', 1)) // ->preload(), ], FiltersLayout::AboveContent) ->hiddenFilterIndicators(false) ->persistFiltersInSession() ->recordActions([ // EditAction::make(), DeleteAction::make()->iconButton(), ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]); } }