poll('15s') ->striped() ->defaultPaginationPageOption(8) ->paginationPageOptions([8, 16, 24, 36]) ->columns([ Stack::make([ TextColumn::make('tm_player_id')->prefix('Id: ')->searchable()->color('success')->icon('phosphor-copy')->copyable(), TextColumn::make('name')->searchable()->prefix('Name: ')->color('primary')->icon('phosphor-copy')->copyable(), TextColumn::make('full_name')->color('gray')->searchable(), TextColumn::make('birthdate')->date()->prefix('Birthdate: '), TextColumn::make('height')->prefix('Height: ')->suffix(' cm'), TextColumn::make('nationality')->prefix('Nationality: '), TextColumn::make('position')->prefix('Position: '), TextColumn::make('sport_radar_id')->searchable()->prefix('Sport Radar Id: ')->icon('phosphor-copy')->copyable(), TextColumn::make('id_squadra_tm')->prefix('Team Id TM: '), TextColumn::make('rigorist')->prefix('Rigorist: '), TextColumn::make('national_team_id')->prefix('National Team Id: '), TextColumn::make('last_update')->date()->prefix('Last Update: '), TextColumn::make('created_at')->date()->prefix('Created: '), TextColumn::make('updated_at')->date()->prefix('Updated: '), // TextColumn::make('league_code')->prefix('League: '), // TextColumn::make('team_code')->prefix('Team Code: '), // TextColumn::make('team_name')->prefix('Team Name: '), ]), ]) ->emptyStateHeading('No double player in details') ->contentGrid([ 'md' => 2, 'xl' => 4, ]) ->filters([ Filter::make('player_filters') ->schema([ Checkbox::make('find_double'), ])->query(function (Builder $query, array $data): Builder { return $query->when( $data['find_double'], function (Builder $query) { $pDetails = StatistikoDetail::pluck('tm_player_id')->toArray(); $doublpDetails = array_diff_assoc( $pDetails, array_unique($pDetails) ); $query->whereIn('tm_player_id', $doublpDetails)->orderBy('tm_player_id'); } ); })->indicateUsing(function (array $data): ?string { if (! $data['find_double']) { return null; } return 'Find Double'; }), ], layout: FiltersLayout::AboveContent) ->deferFilters(false) ->recordActions([ EditAction::make()->iconButton(), DeleteAction::make()->iconButton(), ]); } }