Corrige le lien vers la galerie inatteignable derrière la modale + renomme "mur" en "fête"

La modale de bienvenue (position: fixed, inset: 0) recouvre tout
l'écran y compris l'en-tête où vivait le seul lien vers la galerie :
au premier chargement (cas le plus fréquent, un seul passage par
invité et par événement), le lien était visuellement présent mais
totalement inatteignable au clic. Ajout d'un lien dupliqué dans la
carte de la modale elle-même. Au passage, "mur" remplacé par "fête"
partout (jugé pas assez fun) pour rester cohérent avec le texte déjà
utilisé sur l'écran de succès.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-18 09:54:09 +02:00
co-authored by Claude Sonnet 5
parent c714316974
commit e06f8afd3e
3 changed files with 19 additions and 7 deletions
+14 -6
View File
@@ -33,9 +33,11 @@
<p class="page__kicker">Une photo, un petit mot, et hop dans l'album&nbsp;!</p>
<!-- href posé par upload.js une fois le slug connu (getSlugFromPath) ;
"#" par défaut pour ne jamais pointer nulle part avant ça. Lien
permanent vers le mur, accessible même sans avoir uploadé — ajouté
suite à la demande de Kévin le 2026-09-18. -->
<a href="#" id="wall-link" class="wall-link">Voir le mur&nbsp;</a>
permanent vers la galerie, accessible même sans avoir uploadé —
ajouté suite à la demande de Kévin le 2026-09-18. "Mur" jugé pas
assez fun par Kévin -> renommé "la fête" partout (cohérent avec
le texte déjà existant de l'écran de succès). -->
<a href="#" id="wall-link" class="wall-link">Voir la fête&nbsp;</a>
</header>
<!-- Mot de bienvenue + mention légale RGPD condensée, affiché une seule
@@ -55,8 +57,8 @@
</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 le mur de l'événement
en quelques secondes, visible par tous les invités.
Scanne, souris, dépose ta photo — elle rejoint la fête en quelques
secondes, visible par tous les invités.
</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">
@@ -80,6 +82,12 @@
</span>
</p>
<button type="button" id="welcome-modal-dismiss">C'est parti&nbsp;!</button>
<!-- Lien dupliqué ici (même que #wall-link dans l'en-tête) : la
modale recouvre tout l'écran en position fixed, donc le lien de
l'en-tête est inatteignable tant qu'elle est ouverte — bug réel
remonté par Kévin le 2026-09-18 ("le bouton ne marche pas", en
fait il tapait dessus derrière la modale). -->
<a href="#" id="wall-link-modal" class="btn-secondary-link">Voir la fête sans envoyer de photo&nbsp;</a>
</div>
</div>
@@ -119,7 +127,7 @@
<p class="success-text">Ta photo vient de rejoindre la fête. Merci d'avoir été là&nbsp;!</p>
<div class="success-actions">
<button type="button" id="add-another-btn">Ajouter une autre photo</button>
<a href="#" id="wall-link-success" class="btn-secondary-link">Voir le mur&nbsp;</a>
<a href="#" id="wall-link-success" class="btn-secondary-link">Voir la fête&nbsp;</a>
</div>
</section>
+2
View File
@@ -666,6 +666,8 @@ button {
}
.btn-secondary-link {
display: block;
text-align: center;
font-family: var(--font-ui);
font-weight: 700;
font-size: 0.9rem;
+3 -1
View File
@@ -53,6 +53,7 @@ const welcomeModalTitle = document.getElementById("welcome-modal-title");
const welcomeModalDismiss = document.getElementById("welcome-modal-dismiss");
const wallLink = document.getElementById("wall-link");
const wallLinkSuccess = document.getElementById("wall-link-success");
const wallLinkModal = document.getElementById("wall-link-modal");
const legalLink = document.getElementById("legal-link");
// ---------------------------------------------------------------------------
@@ -412,12 +413,13 @@ async function initEventCheck() {
showError(appError("event-not-found"));
return;
}
// Lien vers le mur posé dès que le slug est connu, sans attendre la
// Lien vers la galerie posé dès que le slug est connu, sans attendre la
// réponse de get_public_event : /galerie/<slug> fait sa propre
// vérification (event inconnu/clos), pas besoin de la dupliquer ici.
const wallHref = `/galerie/${encodeURIComponent(slug)}`;
wallLink.href = wallHref;
wallLinkSuccess.href = wallHref;
wallLinkModal.href = wallHref;
try {
const event = await fetchEventPublicInfo(slug);
if (!isEventActive(event)) throw appError("event-closed");