{{-- « Avancement » : trois repères, puis la vue choisie — Prestations · Étapes · Événements · Réseaux. Seules les vues que l'exploitant a laissées apparaissent : un marché sans événements et sans réseaux n'a aucune raison d'offrir deux onglets vides à son client. Une barre ne monte qu'à la VALIDATION ; le repère clair marque ce qui est commandé. --}} @php $publique = $publique ?? false; $t = $donnees['tuiles']; $execution = $t['execution']; $vues = $donnees['vues'] ?? ['prestations' => 'Prestations']; $vue = $donnees['vue'] ?? 'prestations'; $reception = $donnees['prochaine_reception'] ?? ['date' => null, 'libelle' => '']; $nombre = fn ($v) => rtrim(rtrim(number_format((float) $v, 2, ',', ' '), '0'), ','); @endphp {{-- v4.11.0 §C — L'exécution en ANNEAU (la part de temps écoulée), les livrables en PASTILLES : « à valider » attire l'œil, « en préparation » reste discret. Les données ne changent pas. --}} {{-- Le sélecteur de vues. Sur la page publique aussi : lire n'est pas décider. --}} @if (count($vues) > 1)
@foreach ($vues as $cle => $libelle) @if ($publique) $vue === $cle, 'text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-white/5' => $vue !== $cle, ])>{{ $libelle }} @else @endif @endforeach
{{-- « Signaler un événement » : jamais depuis la page publique. Sans compte, personne n'engage rien — c'est la même règle que pour les décisions. --}} @if (! $publique && $vue === 'evenements' && ($donnees['peut_signaler_evenement'] ?? false) && ($donnees['peut_decider'] ?? true)) @endif
@endif {{-- ─── Prestations ─────────────────────────────────────────────────────────────────────── --}} @if ($vue === 'prestations') @forelse ($donnees['familles'] as $famille)
{{ $famille['libelle'] ? 'Famille '.$famille['famille'].' · '.$famille['libelle'] : 'Famille '.$famille['famille'] }}
@foreach ($famille['lignes'] as $ligne)
{{ $nombre($ligne['valide']) }} / {{ $nombre($ligne['prevu']) }}
@endforeach @empty L'équipe prépare votre espace. Vous serez prévenu dès qu'un livrable est prêt à être validé. @endforelse
@endif {{-- ─── Étapes : une seule liste chronologique ───────────────────────────────────────────── --}} @if ($vue === 'etapes') @forelse ($donnees['etapes'] as $etape) {{ ['fait' => 'Fait', 'en_cours' => 'En cours'][$etape['etat']] ?? 'À venir' }} @empty Les étapes de votre marché apparaîtront ici au fil de l'exécution. @endforelse @endif {{-- ─── Événements : les couvertures, et la chronologie EN MOTS SIMPLES ──────────────────── --}} @if ($vue === 'evenements') @include('espace-client.modules.evenements', [ 'dashboard' => $dashboard, 'donnees' => $donnees, 'publique' => $publique, ]) @endif {{-- ─── Réseaux ─────────────────────────────────────────────────────────────────────────── --}} @if ($vue === 'reseaux') @forelse ($donnees['reseaux'] as $reseau)
@if ($reseau['progression'] !== null)
@endif {{ $reseau['abonnes'] !== null ? number_format((float) $reseau['abonnes'], 0, ',', ' ') : '—' }} @if ($reseau['progression'] !== null) {{ $reseau['progression'] }} % @endif
@empty Aucun réseau social n'est suivi dans le cadre de ce marché. @endforelse
@endif