{{-- v4.2.0 §C3 — LA PAGE PUBLIQUE : le même écran que l'espace, sans compte et sans boutons. Sa feuille de style lui est propre (`resources/css/espace-client.css`) : un maître d'ouvrage qui ouvre un lien de lecture sur son téléphone n'a aucune raison de télécharger le thème du back-office — qu'il ne verra jamais. v4.7.0 — L'en-tête porte les DEUX logos (§E2), le bandeau n'est plus une impasse (§B1), et « Ce que nous attendons de vous » ouvre la page (§B4). --}} @php $primaire = $dashboard->couleur_primaire ?: \App\Support\Identite::couleurPrimaire(); $publique = true; $lienLivrable = fn ($livrable): string => '#'; $lienEcrire = $lienEcrire ?? null; $pwa = $pwa ?? null; // v4.12.0 §B2 — Celui qui GÈRE cet espace ne « se connecte » pas : il l'ouvre en aperçu. $estGestionnaire = $estGestionnaire ?? false; @endphp {{-- Un lien de lecture partagé n'a rien à faire dans un index de moteur. --}} {{ $dashboard->nom }} — {{ $dashboard->client_nom }} {{-- v4.9.0 §A3 — CET ESPACE S'INSTALLE COMME SA PROPRE APPLICATION, avec le logo de SON client. Le manifeste et les icônes viennent du chemin d'entrée (lien court ou lien à jeton) : leurs portées ne sont pas les mêmes. Sans `$pwa`, la page reste ce qu'elle était — aucun de ces en-têtes n'est émis. --}} @if ($pwa) @endif @vite('resources/css/espace-client.css') {{-- v4.11.0 §D — L'ACCENT DE L'ESPACE, posé sur un conteneur plutôt que sur `:root` : c'est la MÊME variable que lit l'espace connecté, où la page vit à l'intérieur du panneau Filament et n'a pas de `:root` à elle. Une seule origine de couleur pour les trois écrans. --}}
{{-- v4.7.0 §E2 / v4.11.0 §D — L'en-tête : la marque qui exécute, l'espace, le logo du client. Les deux actions de droite n'apparaissent qu'à partir de `sm` : sur téléphone, « installer » a son bloc discret plus bas, et « se connecter » vit dans le bandeau de lecture. --}} @include('espace-client.en-tete', ['dashboard' => $dashboard])
{{-- v4.11.0 §A — La barre LATÉRALE (bureau). Sous 1024 px, c'est la barre du bas, en fin de page, qui prend le relais : les huit liens ne s'enroulent plus en pastilles. v4.5.0 §7 — L'adresse d'un module vient du CHEMIN par lequel on est entré : le lien à jeton la porte avec son jeton, le lien court sans. La page, elle, est la même. --}}
@if ($dashboard->whatsapp_groupe_url) @endif {{-- v4.9.0 §A5, replacé en v4.11.0 §D — L'invitation à installer : discrète, et jamais insistante. Elle n'apparaît que si le navigateur le propose vraiment (Android/Chrome), ou pour dire à iOS le geste qu'il faut faire — et disparaît une fois installée. Sur bureau elle vit ici, sous la barre latérale ; sur téléphone, c'est le même bloc, rendu au-dessus de la barre du bas. --}} @if ($pwa) @endif
{{-- v4.11.0 §B — CE QUI ATTEND LE CLIENT PASSE EN TÊTE, avant le titre du module : c'est la première chose qu'il doit voir en ouvrant la page. --}} @if (($attendus['total'] ?? 0) > 0) @include('espace-client.attendus', [ 'attendus' => $attendus, 'publique' => true, 'lienConnexion' => ($estGestionnaire || ($aUnCompteClient ?? false)) ? $lienConnexion : null, 'libelleConnexion' => $estGestionnaire ? 'Voir comme le référent' : 'Se connecter pour valider', ]) @endif

{{ $titreDuModule }}

{{ $phrase }}

{{-- Ce que cette page est, et ce qu'elle n'est pas. Sans compte, personne ne décide : une décision qui engage un marché porte un nom, et un lien partagé n'en a pas. v4.7.0 §B1 — Et le bandeau mène quelque part : la connexion quand un compte existe, une phrase honnête sinon. Jamais un bouton mort. --}}
@if ($estGestionnaire) {{-- v4.12.0 §B2 — Vous GÉREZ cet espace : « se connecter » ne veut rien dire pour vous, et le lien vous renvoyait au tableau de bord dont vous venez. --}} Page de lecture — vous gérez cet espace : ouvrez-le tel que le référent le voit. Voir comme le référent @elseif ($aUnCompteClient ?? false) Page de lecture — pour valider, connectez-vous à votre espace. Se connecter à mon espace @else Page de lecture — pour valider, connectez-vous à votre espace. Votre référent n'a pas encore de compte : demandez-le à votre interlocuteur. @endif
@if (session('ecrire_ok'))

{{ session('ecrire_ok') }}

@endif @include('espace-client.module', [ 'dashboard' => $dashboard, 'module' => $module, 'donnees' => $donnees, 'publique' => true, 'lienLivrable' => $lienLivrable, 'lienEcrire' => $lienEcrire, ])

{{ $dashboard->nom }} · lien de lecture · {{ $dashboard->nomDuPrestataire() }}

{{-- v4.11.0 §A — La barre d'onglets du bas : elle ne se rend que sous 1024 px. --}}
@if ($pwa) {{-- v4.9.0 §A4/§A5 — Le service worker du socle, et rien de plus. On RÉUTILISE `/sw.js` (celui des notifications du personnel) au lieu d'en poser un second qui entrerait en conflit sur la même origine : même script, même portée, une seule inscription. Son comportement push n'est pas touché ; il gagne seulement une coquille hors-ligne en « réseau d'abord », qui ne ressert une page que si le réseau est injoignable. --}} @endif