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,47 @@
<?php
namespace App\Filament\Widgets;
use Filament\Widgets\StatsOverviewWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;
use Functional\Exercises\Models\Exercise;
use Functional\Streaks\Models\Streak;
use Functional\Tracking\Models\WorkoutSession;
use Functional\Users\Models\User;
use Illuminate\Support\Carbon;
/**
* Vue d'ensemble du dashboard : chiffres clés de StreakFit.
* Nb d'utilisateurs, séances (total + cette semaine), plus long streak en cours, catalogue d'exos.
*/
class StreakFitStatsOverview extends StatsOverviewWidget
{
protected function getStats(): array
{
$sessionsThisWeek = WorkoutSession::query()
->where('started_at', '>=', Carbon::now()->startOfWeek())
->count();
return [
Stat::make('Utilisateurs', (string) User::query()->count())
->description('Comptes inscrits')
->descriptionIcon('heroicon-m-users')
->color('primary'),
Stat::make('Séances', (string) WorkoutSession::query()->count())
->description($sessionsThisWeek . ' cette semaine')
->descriptionIcon('heroicon-m-fire')
->color('warning'),
Stat::make('Meilleur streak en cours', (string) (Streak::query()->max('current_count') ?? 0))
->description('Jours consécutifs')
->descriptionIcon('heroicon-m-bolt')
->color('success'),
Stat::make('Exercices', (string) Exercise::query()->count())
->description('Catalogue disponible')
->descriptionIcon('heroicon-m-rectangle-stack')
->color('primary'),
];
}
}