@php $compact = $compact ?? false; $showWorker = $showWorker ?? false; $entries = ($entries ?? collect())->sortBy('started_at')->values(); $formatSeconds = static function (int $seconds): string { $seconds = max(0, $seconds); return sprintf('%02d:%02d:%02d', intdiv($seconds, 3600), intdiv($seconds % 3600, 60), $seconds % 60); }; $sessionsByDate = $entries->groupBy(function ($entry) { return $entry->started_at?->toDateString() ?? 'unknown'; })->sortKeysDesc(); $grandTotal = (int) $entries->sum(fn ($entry) => $entry->elapsedSeconds()); @endphp @if($entries->isEmpty()) @unless($compact)

Aucune session chrono pour le moment.

@endunless @else
@foreach($sessionsByDate as $dateKey => $dayEntries) @php $day = \Illuminate\Support\Carbon::parse($dateKey)->locale('fr'); $dayLabel = $day->isToday() ? "Aujourd'hui" : ($day->isYesterday() ? 'Hier' : $day->translatedFormat('D j M Y')); $dayTotal = (int) $dayEntries->sum(fn ($entry) => $entry->elapsedSeconds()); @endphp

{{ $dayLabel }}

{{ $formatSeconds($dayTotal) }}
@endforeach
@unless($compact)
Total {{ $formatSeconds($grandTotal) }}
@endunless @endif