@php $flat = $formation->modules->flatMap->lessons; $total = $flat->count(); $doneCount = count($doneIds); // 1re leçon non terminée pour le bouton "Reprendre". $nextLesson = $flat->first(fn ($l) => ! in_array($l->id, $doneIds, true)) ?? $flat->first(); $typeLabels = ['video' => 'Vidéo', 'texte' => 'Lecture', 'quiz' => 'Quiz', 'document' => 'Atelier', 'live' => 'Live']; @endphp {{-- En-tête immersif --}}
Mon espace
@if ($formation->code) {{ $formation->code }} @endif {{ $formation->levelLabel() }}

{{ $formation->title }}

@if ($formation->summary)

{{ $formation->summary }}

@endif {{-- Progression + reprise --}}
{{ $doneCount }} / {{ $total }} leçons terminées {{ $enrollment->progress }}%
@if ($nextLesson && $enrollment->progress < 100) {{ $doneCount > 0 ? 'Reprendre' : 'Commencer le cours' }} @endif
@if (session('status'))
{{ session('status') }}
@endif {{-- Attestation à 100% --}} @if ($enrollment->progress >= 100)

🎉 Félicitations, formation terminée !

Votre attestation de réussite est disponible.

@if ($enrollment->formation->isAutoCertified() || $enrollment->certificate) Télécharger le PDF @else En attente de validation du formateur @endif
@endif {{-- Programme : modules en accordéon --}}

Programme du cours

@forelse ($formation->modules as $module) @php $mLessons = $module->lessons; $mDone = $mLessons->filter(fn ($l) => in_array($l->id, $doneIds, true))->count(); $mTotal = $mLessons->count(); $mComplete = $mTotal > 0 && $mDone === $mTotal; @endphp
@empty
Le contenu de cette formation est en cours de préparation.
@endforelse