{{-- Lien retour --}}
Retour aux utilisateurs
{{-- Carte en-tête --}}
{{-- Identité --}}
{{-- Avatar initiales --}}

{{ $user->name }}

{{ $user->email }}

{{-- Badges état / inscription / rôle --}}
@if ($user->is_active) Actif @else Suspendu @endif Inscrit le {{ $user->created_at->translatedFormat('d M Y') }} @if ($user->last_login_at) Connexion {{ $user->last_login_at->translatedFormat('d M Y') }} @endif @if ($user->role === 'admin') Administrateur @endif
{{-- Score global + action toggle --}}
{{-- Score global --}}

Score global

{{ $globalPercent }}%
{{-- Séparateur visuel --}}
{{-- Bouton toggle — action sensible --}}
@csrf @method('PATCH') @if ($user->is_active) @else @endif
{{-- Grille 4 stats --}}
Réponses totales
{{ number_format($totalAnswered, 0, ',', ' ') }}
Correctes
{{ number_format($totalCorrect, 0, ',', ' ') }}
Cours étudiés
{{ $user->courseStats->count() }}
Meilleure série
{{ $maxStreak }}
{{-- Progression par cours --}}

Progression par cours

@if ($user->courseStats->isEmpty())

Aucun cours étudié pour le moment.

@else
@foreach ($user->courseStats as $s) @php $pct = $s->total_answered > 0 ? round($s->correct_answered / $s->total_answered * 100) : 0; if ($pct >= 75) { $pctColor = 'var(--color-success)'; } elseif ($pct >= 50) { $pctColor = 'var(--color-warning)'; } else { $pctColor = 'var(--color-danger)'; } @endphp
{{-- En-tête cours --}}

{{ $s->course->name }}

Dernière étude : {{ $s->last_studied_at ? $s->last_studied_at->translatedFormat('d M Y') : '—' }}

{{ $pct }}%
{{-- Barre de progression --}} {{-- Méta-données --}}
{{ number_format($s->total_answered, 0, ',', ' ') }} réponse{{ $s->total_answered > 1 ? 's' : '' }} @if ($s->streak > 0) {{ $s->streak }} jour{{ $s->streak > 1 ? 's' : '' }} de série @endif
@endforeach
@endif
{{-- Activité récente --}}

Activité récente

25 dernières entrées
@if ($user->progress->isEmpty())

Aucune activité enregistrée.

@else
@foreach ($user->progress as $p) @php $modeIcons = [ 'flashcards' => 'book', 'qcm' => 'target', 'open' => 'pen', 'infinite' => 'infinity', ]; $modeLabels = [ 'flashcards' => 'Flashcards', 'qcm' => 'QCM', 'open' => 'Ouvert', 'infinite' => 'Infini', ]; $modeIcon = $modeIcons[$p->mode] ?? 'book'; $modeLabel = $modeLabels[$p->mode] ?? ucfirst($p->mode); $isCorrect = $p->result === 'correct'; @endphp {{-- Mode --}} {{-- Cours --}} {{-- Chapitre (masqué sur mobile) --}} {{-- Résultat --}} {{-- Date (masquée sur mobile/tablette) --}} @endforeach
Mode Cours Résultat
{{ $modeLabel }} {{ $p->course->name }} @if ($isCorrect) Correct @else {{ $p->result === 'partial' ? 'Partiel' : 'Incorrect' }} @endif
@endif