Ajoute un lien vers le mur depuis la page upload + corrige la mention RGPD
Lien "Voir le mur" dans l'en-tête (permanent) et sur l'écran de succès, demandé par Kévin. href posé dès que le slug est connu, sans attendre la réponse de get_public_event. Corrige un oubli réel : la mention RGPD disait encore "mise à disposition de l'organisateur" alors que la décision du 2026-09-18 (galerie invité visible par tous) avait été consignée dans docs/decisions.md sans que le texte affiché aux invités soit réellement mis à jour. Corrigé dans docs/rgpd.md et dans la modale de bienvenue réelle.
This commit is contained in:
+13
-6
@@ -11,12 +11,13 @@ Texte à afficher, de façon visible, sur la page d'upload avant que l'invité
|
||||
ne dépose une photo :
|
||||
|
||||
> 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.
|
||||
> dans le cadre de cet événement et **visible par les autres invités de
|
||||
> l'événement ainsi que par l'organisateur** (galerie commune accessible via
|
||||
> le même lien/QR code). 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 en
|
||||
> dehors des invités de l'événement. Vous pouvez demander la suppression
|
||||
> anticipée d'une photo en contactant l'organisateur de l'événement.
|
||||
|
||||
## Politique de conservation
|
||||
|
||||
@@ -38,6 +39,12 @@ ne dépose une photo :
|
||||
|
||||
## Points à valider avec Kévin (et si besoin un juriste) avant V2/V3
|
||||
|
||||
- **Galerie invité (2026-09-18)** : les photos/prénoms/messages sont
|
||||
désormais visibles par tous les invités d'un même événement (pas
|
||||
seulement par l'organisateur), cf. `docs/decisions.md`. Mention légale
|
||||
mise à jour en conséquence — à faire valider par un juriste avant V2/V3
|
||||
comme le reste de cette page, ce changement rend le sujet plus sensible
|
||||
(données visibles par un groupe plus large que prévu initialement).
|
||||
- Rédaction définitive des CGU/mentions légales pour un usage commercial
|
||||
auprès de clients externes (mariages, événementiel pro).
|
||||
- Statut du client (organisateur) comme responsable de traitement, et de
|
||||
|
||||
+20
-9
@@ -31,6 +31,11 @@
|
||||
</p>
|
||||
<h1 id="event-name">Ajouter une photo</h1>
|
||||
<p class="page__kicker">Une photo, un petit mot, et hop dans l'album !</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 →</a>
|
||||
</header>
|
||||
|
||||
<!-- Mot de bienvenue + mention légale RGPD condensée, affiché une seule
|
||||
@@ -50,8 +55,8 @@
|
||||
</p>
|
||||
<p class="welcome-modal__title" id="welcome-modal-title">Bienvenue !</p>
|
||||
<p class="welcome-modal__text">
|
||||
Scanne, souris, dépose ta photo — elle rejoint l'album de l'événement
|
||||
en quelques secondes.
|
||||
Scanne, souris, dépose ta photo — elle rejoint le mur de l'événement
|
||||
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">
|
||||
@@ -60,15 +65,18 @@
|
||||
</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. -->
|
||||
passage + lien de rappel), pas le contenu. Mis à jour le
|
||||
2026-09-18 : mentionne explicitement la visibilité par les
|
||||
autres invités (galerie commune), cf. docs/decisions.md. -->
|
||||
<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.
|
||||
dans le cadre de cet événement et visible par les autres invités de
|
||||
l'événement ainsi que par 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 en dehors des invités de
|
||||
l'événement. 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 !</button>
|
||||
@@ -109,7 +117,10 @@
|
||||
</div>
|
||||
<p class="success-title">C'est envoyé !</p>
|
||||
<p class="success-text">Ta photo vient de rejoindre la fête. Merci d'avoir été là !</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 →</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form id="upload-form" class="upload-form" hidden novalidate>
|
||||
|
||||
@@ -171,6 +171,20 @@ body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.wall-link {
|
||||
display: inline-flex;
|
||||
margin-top: 0.7rem;
|
||||
font-family: var(--font-ui);
|
||||
font-weight: 700;
|
||||
font-size: 0.85rem;
|
||||
color: var(--color-coral);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.wall-link:active {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.page__kicker {
|
||||
color: var(--color-muted);
|
||||
font-size: 0.95rem;
|
||||
@@ -644,6 +658,25 @@ button {
|
||||
background: #ff7673;
|
||||
}
|
||||
|
||||
.success-actions {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.7rem;
|
||||
}
|
||||
|
||||
.btn-secondary-link {
|
||||
font-family: var(--font-ui);
|
||||
font-weight: 700;
|
||||
font-size: 0.9rem;
|
||||
color: var(--color-muted);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.btn-secondary-link:active {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
#submit-btn:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
|
||||
@@ -51,6 +51,8 @@ const submitBtnLabel = document.getElementById("submit-btn-label");
|
||||
const welcomeModal = document.getElementById("welcome-modal");
|
||||
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 legalLink = document.getElementById("legal-link");
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -410,6 +412,12 @@ async function initEventCheck() {
|
||||
showError(appError("event-not-found"));
|
||||
return;
|
||||
}
|
||||
// Lien vers le mur 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;
|
||||
try {
|
||||
const event = await fetchEventPublicInfo(slug);
|
||||
if (!isEventActive(event)) throw appError("event-closed");
|
||||
|
||||
Reference in New Issue
Block a user