From 38432eebe0775648bef11ba2ac5db1dbf2b8a0ec Mon Sep 17 00:00:00 2001 From: Julien PONTILLO Date: Wed, 7 Jan 2026 13:09:17 +0100 Subject: [PATCH 1/3] chore: setup 2026 ticket office --- src/components/home/Hero.astro | 4 ++-- src/components/home/HomeTicketsBlock.astro | 7 +++---- src/data/tickets/tickets.json | 23 +++++++++++----------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/components/home/Hero.astro b/src/components/home/Hero.astro index cc7c4b8..2e23cde 100644 --- a/src/components/home/Hero.astro +++ b/src/components/home/Hero.astro @@ -16,8 +16,8 @@ import Cluster from '../ui-elements/Cluster.astro' CFP - - Voir les replays 2025 + + Accéder à la billetterie diff --git a/src/components/home/HomeTicketsBlock.astro b/src/components/home/HomeTicketsBlock.astro index 7d04179..02eca79 100644 --- a/src/components/home/HomeTicketsBlock.astro +++ b/src/components/home/HomeTicketsBlock.astro @@ -14,19 +14,18 @@ const { tickets } = Astro.props
- -

Billetterie

+ +

La billetterie sera ouverte prochainement. Inscrivez-vous à la newsletter pour être informé des nouvelles annonces. diff --git a/src/data/tickets/tickets.json b/src/data/tickets/tickets.json index 70bd527..be27691 100644 --- a/src/data/tickets/tickets.json +++ b/src/data/tickets/tickets.json @@ -1,23 +1,24 @@ [ { "id": "student", - "name": "Étudiant", - "price": 40, - "url": "http://billetweb.fr/sunny-tech-2025", + "name": "Étudiant et demandeur d'emploi", + "price": 44, + "url": "https://www.billetweb.fr/sunny-tech-2026", "ticketsCount": 18, - "available": true, - "soldOut": true, - "highlighted": false + "available": false, + "soldOut": false, + "highlighted": false, + "message": "La billetterie ouvrira bientôt, inscrivez-vous à la newsletter pour en être les premiers informés !" }, { "id": "default2", "name": "Standard", - "price": 100, - "url": "http://billetweb.fr/sunny-tech-2025", - "ticketsCount": 300, - "available": true, + "price": 110, + "url": "https://www.billetweb.fr/sunny-tech-2026", + "ticketsCount": 280, + "available": false, "soldOut": false, "highlighted": false, - "message": "Billetterie soldout, mais inscrivez-vous à la liste d'attente, on sait jamais :)" + "message": "La billetterie ouvrira bientôt, inscrivez-vous à la newsletter pour en être les premiers informés !" } ] From f99be78352ee406681d2e2da1a71ba266dfb17b2 Mon Sep 17 00:00:00 2001 From: Julien PONTILLO Date: Wed, 7 Jan 2026 14:26:32 +0100 Subject: [PATCH 2/3] chore: display standard tickets waves dates --- src/components/home/TicketCard.astro | 6 +++++- src/data/tickets/tickets.json | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/home/TicketCard.astro b/src/components/home/TicketCard.astro index a8e9f31..6bf829b 100644 --- a/src/components/home/TicketCard.astro +++ b/src/components/home/TicketCard.astro @@ -42,7 +42,11 @@ const { name, price, url, startDate, endDate, ticketsCount, available, soldOut, !!message && (


- {message} + + {message.split('\n').map((line) => ( + {line} + ))} +

) } diff --git a/src/data/tickets/tickets.json b/src/data/tickets/tickets.json index be27691..d9282f0 100644 --- a/src/data/tickets/tickets.json +++ b/src/data/tickets/tickets.json @@ -19,6 +19,6 @@ "available": false, "soldOut": false, "highlighted": false, - "message": "La billetterie ouvrira bientôt, inscrivez-vous à la newsletter pour en être les premiers informés !" + "message": "La billetterie ouvrira bientôt, inscrivez-vous à la newsletter pour en être les premiers informés !\n100 places disponibles pour la Vague 1 le mardi 27 janvier à 10h\n100 places disponibles pour la Vague 2 le mercredi 15 avril à 20h30\n80 places disponibles pour la Vague 3 le samedi 25 avril à 14h" } ] From c04bc06f07395b6f41e13d46837702fce91de952 Mon Sep 17 00:00:00 2001 From: Julien PONTILLO Date: Wed, 7 Jan 2026 14:36:03 +0100 Subject: [PATCH 3/3] feat: add displayNewsletterRegistration to ticket data and update TicketCard component --- src/components/home/HomeTicketsBlock.astro | 4 +-- src/components/home/TicketCard.astro | 32 ++++++++++++++++++++-- src/content.config.ts | 1 + src/data/tickets/tickets.json | 3 +- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/components/home/HomeTicketsBlock.astro b/src/components/home/HomeTicketsBlock.astro index 02eca79..0f2bc95 100644 --- a/src/components/home/HomeTicketsBlock.astro +++ b/src/components/home/HomeTicketsBlock.astro @@ -25,7 +25,7 @@ const { tickets } = Astro.props {tickets.map((ticket) => )} - +
diff --git a/src/components/home/TicketCard.astro b/src/components/home/TicketCard.astro index 6bf829b..1c1ef9e 100644 --- a/src/components/home/TicketCard.astro +++ b/src/components/home/TicketCard.astro @@ -8,7 +8,19 @@ interface Props { } const { ticket } = Astro.props -const { name, price, url, startDate, endDate, ticketsCount, available, soldOut, highlighted, message } = ticket.data +const { + name, + price, + url, + startDate, + endDate, + ticketsCount, + available, + soldOut, + highlighted, + message, + displayNewsletterRegistration, +} = ticket.data ---
) } - {!available && !soldOut && Pas disponible} + { + !available && !soldOut && !displayNewsletterRegistration && ( + Pas disponible + ) + } {soldOut && Épuisé} + { + displayNewsletterRegistration && ( +

+ + S'inscrire à la newsletter + +

+ ) + }
diff --git a/src/content.config.ts b/src/content.config.ts index 8a9455d..969eb07 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -28,6 +28,7 @@ const ticketsCollection = defineCollection({ soldOut: z.boolean(), highlighted: z.boolean(), message: z.string().optional(), + displayNewsletterRegistration: z.boolean().optional(), }), }) diff --git a/src/data/tickets/tickets.json b/src/data/tickets/tickets.json index d9282f0..0b12311 100644 --- a/src/data/tickets/tickets.json +++ b/src/data/tickets/tickets.json @@ -19,6 +19,7 @@ "available": false, "soldOut": false, "highlighted": false, - "message": "La billetterie ouvrira bientôt, inscrivez-vous à la newsletter pour en être les premiers informés !\n100 places disponibles pour la Vague 1 le mardi 27 janvier à 10h\n100 places disponibles pour la Vague 2 le mercredi 15 avril à 20h30\n80 places disponibles pour la Vague 3 le samedi 25 avril à 14h" + "message": "La billetterie ouvrira bientôt, inscrivez-vous à la newsletter pour en être les premiers informés !\n100 places disponibles pour la Vague 1 le mardi 27 janvier à 10h\n100 places disponibles pour la Vague 2 le mercredi 15 avril à 20h30\n80 places disponibles pour la Vague 3 le samedi 25 avril à 14h", + "displayNewsletterRegistration": true } ]