/* global React, Eyebrow */ const { useState: useTicketState } = React; // ── Weezevent — URLs filtrées par tarif // 👉 Remplacer chaque URL par le widget filtré correspondant (Weezevent > Canaux de vente > Modules de billetterie > Nouveau widget filtré) const WZ_POPUP = "Billetterie Weezevent,width=650,height=600,top=100,left=100,toolbar=no,resizable=yes,scrollbars=yes,status=no"; const WZ_URLS = { earlybird: "https://widget.weezevent.com/ticket/79d20603-c5e4-4222-9359-2349c582c01f?id_evenement=2093971&locale=fr-FR&code=29313", regular: "https://widget.weezevent.com/ticket/fb1dc096-5edd-4db7-8052-6df2b0efdc1f?id_evenement=2093971&locale=fr-FR&code=29313", lastchance: "https://widget.weezevent.com/ticket/e26a2677-379d-4aae-8a93-7bd4e6a1331d?id_evenement=2093971&locale=fr-FR&code=29313", all: "https://widget.weezevent.com/ticket/E2093971/?code=29313&locale=fr-FR&width_auto=1&color_primary=0032FA", }; function openWZ(key) { const w = window.open(WZ_URLS[key] || WZ_URLS.all, "Billetterie Weezevent", WZ_POPUP); if (w) w.focus(); } function PageTickets({ setPage }) { const [showConsent, setShowConsent] = useTicketState(false); const [checked, setChecked] = useTicketState(false); const [pendingAction, setPendingAction] = useTicketState(null); // Ouvre le modal de consentement avant toute action d'achat const askConsent = (action) => { setChecked(false); setPendingAction(() => action); setShowConsent(true); }; const confirmConsent = () => { if (!checked) return; setShowConsent(false); if (pendingAction) pendingAction(); }; const goBooking = () => askConsent(() => setPage("booking")); const goEarly = () => askConsent(() => openWZ("earlybird")); const goRegular = () => askConsent(() => openWZ("regular")); const goLast = () => askConsent(() => openWZ("lastchance")); return (
Billetterie ouverte · paiement sécurisé

Billets.

Trois formules pour vivre Summer Sky à votre rythme. Early bird jusqu'au 10 juin 2026 — quantité limitée.

🎟️ Paiement sécurisé via Weezevent
{/* Note prix VIP */}
💡
Tu veux réserver une table VIP ?
Le billet Last Chance (30€) donne accès au festival — il ne comprend pas de table VIP. Pour réserver une table VIP en bord de piscine, le forfait est de 600€ (bouteille 🍾 incluse) pour 12 à 15 personnes. Choisis ta table directement sur le plan 3D ci-dessous.

Vous pouvez aussi réserver une table VIP (600€) depuis le plan 3D ci-dessous — la bouteille est incluse dans le forfait.

{/* ── CGV ── */}
Mentions légales

Conditions générales.

En achetant un billet, vous acceptez l'ensemble des conditions ci-dessous.

Inclus dans tous les billets

Pour tout le monde,
peu importe le tarif.

    {[ "Accès main stage", "Piscine ouverte 10 heures", "Parking gratuit sur site", ].map((s, i) => (
  • {s}
  • ))}
Garanties

Sans risque.

{/* ── Modal de consentement obligatoire ── */} {showConsent && (
setShowConsent(false)} >
e.stopPropagation()} style={{ background: "var(--paper)", borderRadius: "var(--r-md)", border: "3px solid var(--ink)", boxShadow: "10px 10px 0 var(--ink)", padding: "24px 20px", maxWidth: 560, width: "100%", maxHeight: "88vh", overflowY: "auto", WebkitOverflowScrolling: "touch", }} > {/* Header */}
⚠️
Engagement obligatoire
Avant de continuer
{/* Texte légal */}

Je reconnais que l'accès à l'espace piscine comporte des risques inhérents aux activités aquatiques et festives. Je certifie être apte à utiliser les installations sous ma propre responsabilité et m'engage à respecter l'ensemble des consignes de sécurité communiquées par l'organisateur et le personnel encadrant.

Je reconnais que tout comportement dangereux, imprudent, inadapté ou lié à une consommation excessive d'alcool ou de substances illicites engage ma responsabilité personnelle.

Je décharge l'organisateur de toute responsabilité en cas d'accident, blessure, dommage ou incident résultant du non-respect des consignes de sécurité ou d'un comportement fautif de ma part.

{/* Case à cocher */} {/* Boutons */}
)}
); } function Ticket({ variant, name, price, perks, ribbon, onClick, comingSoon }) { const isPink = variant === "ticket-vip"; const isSky = variant === "ticket-group"; const isDoor = variant === "ticket-door"; return (
{ribbon &&
{ribbon}
}

{name}

{price}
{isDoor ? (
💵 Paiement uniquement le jour J à l'entrée
) : ( )} {/* Bannière "Bientôt disponible" */} {comingSoon && (
Bientôt disponible
)}
); } function Guarantee({ t, d }) { return (
{t}
{d}
); } // ── CGV Accordion ───────────────────────────────────────────────────────── const CGV_SECTIONS = [ { title: "Responsabilité — Espace piscine", content: (

L'accès à l'espace piscine est strictement réservé aux participants de l'événement et s'effectue sous la responsabilité individuelle de chaque utilisateur.

L'organisateur met en place des dispositifs de sécurité adaptés à l'événement, incluant notamment la présence de personnel de sécurité et/ou de maîtres-nageurs surveillants.

Chaque participant s'engage à :

Règles spécifiques :

L'organisateur ne pourra être tenu responsable des dommages résultant :

Chaque participant demeure pleinement responsable de son comportement durant l'événement. L'organisateur se réserve le droit d'exclure immédiatement toute personne présentant un comportement dangereux.

), }, { title: "Billetterie & remboursements", content: (
), }, { title: "Accès & conditions générales", content: (
), }, { title: "Droit à l'image & captation", content: (

En accédant au site de l'événement, le participant accepte expressément que des photos, vidéos et captations audiovisuelles puissent être réalisées lors de l'événement.

Ces enregistrements pourront être utilisés par l'organisateur à des fins :

Le participant peut s'opposer à l'utilisation de son image en se manifestant auprès de l'organisateur à l'adresse e-mail de contact, dans un délai de 30 jours suivant l'événement.

La captation vidéo ou sonore des artistes à des fins commerciales est strictement interdite sans autorisation écrite préalable de l'organisateur.

), }, { title: "Protection des données personnelles (RGPD)", content: (

Conformément au Règlement Général sur la Protection des Données (RGPD — UE 2016/679), le participant est informé que ses données personnelles collectées lors de l'achat de son billet sont traitées par l'organisateur.

Données collectées :

Finalités du traitement :

Vos données ne seront pas transmises à des tiers à des fins commerciales sans votre consentement explicite.

Conformément à la réglementation, vous disposez d'un droit d'accès, de rectification, de suppression et de portabilité de vos données, ainsi que d'un droit d'opposition. Pour exercer ces droits, contactez-nous à l'adresse e-mail disponible sur la page Contact.

), }, { title: "Force majeure & responsabilité de l'organisateur", content: (

L'organisateur ne pourra être tenu responsable de l'inexécution totale ou partielle de ses obligations en cas de survenance d'un événement de force majeure, c'est-à-dire tout événement imprévisible, irrésistible et extérieur à la volonté de l'organisateur.

Constituent notamment des cas de force majeure :

En cas de force majeure entraînant l'annulation de l'événement, l'organisateur s'efforcera de proposer un report ou un remboursement dans les meilleurs délais, sans que cela puisse donner lieu à une indemnisation supplémentaire.

L'organisateur décline toute responsabilité pour les frais annexes engagés par le participant (transport, hébergement, etc.).

), }, { title: "Organisateur & droit applicable", content: (

Organisateur de l'événement :

Summer Sky — Événement privé
Le Plongeoir, Pôle Européen — Yvré-l'Évêque, 72 530

Pour toute question relative aux présentes conditions générales, vous pouvez nous contacter via la page Contact du site.

Droit applicable :

Les présentes conditions générales sont soumises au droit français. En cas de litige, et à défaut de résolution amiable, les tribunaux compétents seront ceux du ressort du siège de l'organisateur.

Dernière mise à jour : mai 2026. L'organisateur se réserve le droit de modifier les présentes conditions à tout moment. La version applicable est celle en vigueur à la date d'achat du billet.

), }, ]; function CgvAccordion() { const [open, setOpen] = useTicketState(null); return (
{CGV_SECTIONS.map((s, i) => (
0 ? "2px solid var(--ink)" : "none" }}> {open === i && (
{s.content}
)}
))}
); } Object.assign(window, { PageTickets });