diff --git a/src/admin/qrcode/index.html b/src/admin/qrcode/index.html index 8b27343..0111753 100644 --- a/src/admin/qrcode/index.html +++ b/src/admin/qrcode/index.html @@ -134,6 +134,13 @@ align-items: center; gap: 0.75rem; } + /* Une règle auteur avec `display` passe toujours devant `[hidden] { + display: none }` du navigateur (origine auteur > origine user-agent + dans la cascade), donc il faut le dire explicitement ici pour que + preview.hidden = true (JS) masque vraiment l'élément. */ + .preview[hidden] { + display: none; + } .preview svg { width: 100%; max-width: 280px; diff --git a/src/e/style.css b/src/e/style.css index 4eeb49f..ad5de30 100644 --- a/src/e/style.css +++ b/src/e/style.css @@ -415,6 +415,14 @@ body::before { animation: fade-rise 0.5s var(--ease-standard) 0.08s both; } +/* Même bug que .welcome-modal (voir commentaire plus haut) : présent depuis + le tout premier commit de ce fichier. form.hidden = true (JS) ne masquait + jamais réellement le formulaire, qui restait affiché en display:flex en + permanence, superposé aux états chargement/erreur/succès. */ +.upload-form[hidden] { + display: none; +} + .field { display: flex; flex-direction: column; @@ -657,6 +665,17 @@ button:focus-visible { animation: fade-in 0.2s ease both; } +/* Bug réel corrigé (2026-09-16) : une déclaration `display` en CSS auteur + passe toujours devant la règle `[hidden] { display: none }` du navigateur + (l'origine "auteur" l'emporte sur l'origine "user-agent" dans la + cascade, indépendamment de la spécificité). Sans cette règle explicite, + `welcomeModal.hidden = true` en JS ne masquait jamais visuellement la + modale : le bouton "C'est parti" fonctionnait bien (l'état se mettait à + jour) mais rien ne changeait à l'écran. */ +.welcome-modal[hidden] { + display: none; +} + .welcome-modal__card { position: relative; width: 100%;