{{-- Rendre un livrable (v2.0 §8). Trois modes présentés SUR UN PIED D'ÉGALITÉ : la photo d'une feuille manuscrite et l'enregistrement vocal ne sont pas des solutions de repli, ce sont les modes principaux pour une partie du public. La photo est d'ailleurs proposée en premier. --}} @php $audioConsigne = $livrable->{app()->getLocale() === 'ar' ? 'audio_ar_path' : 'audio_fr_path'}; $audioConsigne = $audioConsigne ? \Illuminate\Support\Facades\Storage::disk('public')->url($audioConsigne) : null; $estAccepte = $rendu?->statut === $statutAccepte; @endphp @if (filled($consigne))

{{ $consigne }}

@endif @if ($livrable->modele_path) {{ __('formation.livrable_modele') }} @endif {{-- L'état du rendu précédent, s'il existe. --}} @if ($rendu)
$estAccepte, 'border-terrain/50 bg-terrain/10' => $rendu->statut === $statutReprise, ])>

@if ($estAccepte) ✓ {{ __('formation.livrable_accepte') }} @elseif ($rendu->statut === $statutReprise) {{ __('formation.livrable_reprise') }} @else {{ __('formation.livrable_attente') }} @endif

@if (filled($rendu->commentaire_formateur))

{{ $rendu->commentaire_formateur }}

@endif @if ($rendu->fichier_path) {{ $rendu->mode?->label() }} @endif
@endif @if ($envoye)

{{ __('formation.livrable_envoye') }}

@endif @unless ($estAccepte) {{-- Le choix du mode : trois grandes tuiles, aucune hiérarchie visuelle entre elles. --}}
@foreach ([ ['photo', '📷', __('formation.livrable_photo')], ['vocal', '🎤', __('formation.livrable_vocal')], ['fichier', '📎', __('formation.livrable_deposer')], ] as [$cle, $emoji, $libelle]) @endforeach
@if ($mode === 'vocal') {{-- Le dictaphone : appuyer, parler, arrêter. Le fichier produit rejoint le même champ que les autres modes — donc la même validation côté serveur. --}}

00:00

@else @endif
…
@error('fichier')

{{ $message }}

@enderror @if ($fichier)

✓ {{ $fichier->getClientOriginalName() }}

@endif
@endunless @if ($estAccepte) {{ __('formation.continuer') }} @else @endif