StreakFit — API Laravel 13 OSDD + Octane/FrankenPHP
Build & Deploy / build (push) Successful in 18s

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-19 03:00:17 +02:00
co-authored by Claude Opus 4.8
commit af32669931
300 changed files with 21235 additions and 0 deletions
@@ -0,0 +1,60 @@
<?php
namespace App\Filament\Resources\Integrations\Tables;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table;
use Technical\Integrations\Enums\IntegrationStatus;
/**
* Table des intégrations externes : utilisateur, fournisseur, état, dernière synchro.
* Les tokens (access/refresh) ne sont JAMAIS affichés.
*/
class IntegrationsTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('user.name')
->label('Utilisateur')
->searchable()
->sortable(),
TextColumn::make('provider')
->label('Fournisseur')
->badge()
->searchable(),
TextColumn::make('status')
->label('État')
->badge()
->color(fn (IntegrationStatus $state): string => match ($state) {
IntegrationStatus::Connected => 'success',
IntegrationStatus::Revoked => 'gray',
IntegrationStatus::Error => 'danger',
}),
TextColumn::make('last_synced_at')
->label('Dernière synchro')
->dateTime()
->sortable()
->placeholder('Jamais'),
])
->filters([
SelectFilter::make('status')
->label('État')
->options(IntegrationStatus::class),
])
->recordActions([
EditAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
])
->defaultSort('last_synced_at', 'desc');
}
}