Remplace le bloc RGPD permanent par une modale de bienvenue au 1er passage

Demande Kévin : mot de bienvenue personnalisé (nom de l'événement) +
mention légale RGPD, affiché une fois par événement (localStorage) au
lieu d'un bloc toujours visible dans le formulaire. Texte légal conservé
à l'identique (docs/rgpd.md), seule la présentation change. Reste
consultable à tout moment via un lien "Infos sur tes données" sous le
formulaire, qui rouvre la même modale.
This commit is contained in:
2026-09-16 15:57:09 +02:00
parent 3afd475a55
commit 45e0bd7bcc
3 changed files with 196 additions and 11 deletions
+45 -11
View File
@@ -30,6 +30,48 @@
<p class="page__kicker">Une photo, un petit mot, et hop dans l'album&nbsp;!</p>
</header>
<!-- Mot de bienvenue + mention légale RGPD condensée, affiché une seule
fois par événement (localStorage, cf. upload.js) plutôt qu'en bloc
permanent dans le formulaire — décision Kévin 2026-09-16. Reste
consultable à tout moment via le lien "Infos sur tes données" sous
le formulaire, pour ne jamais perdre l'info, juste la rendre moins
envahissante au quotidien. -->
<div id="welcome-modal" class="welcome-modal" hidden>
<div class="welcome-modal__card">
<p class="brand brand--modal" aria-hidden="true">
<svg class="brand__mark" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" focusable="false">
<path d="M4 8h3l1.5-2h7L17 8h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Z"/>
<circle cx="12" cy="13" r="3.5"/>
</svg>
<span class="brand__name">photobooth</span>
</p>
<p class="welcome-modal__title" id="welcome-modal-title">Bienvenue&nbsp;!</p>
<p class="welcome-modal__text">
Scanne, souris, dépose ta photo — elle rejoint l'album de l'événement
en quelques secondes.
</p>
<p class="legal-notice welcome-modal__legal">
<svg class="legal-notice__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
<rect x="4.5" y="10.5" width="15" height="9.5" rx="2"/>
<path d="M8 10.5V7.5a4 4 0 0 1 8 0v3"/>
</svg>
<!-- Texte légal complet, identique à docs/rgpd.md (mention
obligatoire) — seule la présentation change (modale au premier
passage + lien de rappel), pas le contenu. -->
<span>
En déposant une photo, tu acceptes qu'elle soit stockée temporairement
dans le cadre de cet événement et mise à disposition de l'organisateur.
Tes photos sont automatiquement supprimées 7 jours après la date de
l'événement, sans action de ta part. Aucune photo n'est utilisée à
d'autres fins, ni transmise à des tiers. Tu peux demander la
suppression anticipée d'une photo en contactant l'organisateur de
l'événement.
</span>
</p>
<button type="button" id="welcome-modal-dismiss">C'est parti&nbsp;!</button>
</div>
</div>
<section id="status-loading" class="state-block state-block--loading" role="status">
<span class="spinner" aria-hidden="true"></span>
<p>Chargement de l'événement…</p>
@@ -142,21 +184,13 @@
</div>
</div>
<p class="legal-notice">
<button type="button" id="legal-link" class="legal-link">
<svg class="legal-notice__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
<rect x="4.5" y="10.5" width="15" height="9.5" rx="2"/>
<path d="M8 10.5V7.5a4 4 0 0 1 8 0v3"/>
</svg>
<span>
En déposant une photo, vous acceptez qu'elle soit stockée temporairement
dans le cadre de cet événement et mise à disposition de l'organisateur.
Vos photos sont automatiquement supprimées 7 jours après la date de
l'événement, sans action de votre part. Aucune photo n'est utilisée à
d'autres fins, ni transmise à des tiers. Vous pouvez demander la
suppression anticipée d'une photo en contactant l'organisateur de
l'événement.
</span>
</p>
<span>Infos sur tes données (RGPD)</span>
</button>
<p id="progress-text" class="progress-text" aria-live="polite"></p>