Files
streakfit-api/app/Filament/Resources/Streaks/Tables/StreaksTable.php
T
2026-07-19 05:09:29 +02:00

57 lines
1.8 KiB
PHP

<?php
namespace App\Filament\Resources\Streaks\Tables;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\ViewAction;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
/**
* Table des streaks : régularité par utilisateur (courant, record, freezes, dernière activité).
* Lecture seule + suppression : calculé par StreakService, jamais créé/édité ici.
*/
class StreaksTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('user.name')
->label('Utilisateur')
->searchable()
->sortable(),
TextColumn::make('current_count')
->label('Streak courant')
->badge()
->color('warning')
->sortable(),
TextColumn::make('longest_count')
->label('Record')
->numeric()
->sortable(),
TextColumn::make('freezes_available')
->label('Freezes dispo')
->numeric()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('last_active_date')
->label('Dernière activité')
->date()
->sortable(),
])
->recordActions([
ViewAction::make(),
DeleteAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
])
->defaultSort('current_count', 'desc');
}
}