@@ -3,19 +3,19 @@ import Button from "components/con/common/Button";
33import SpeakerList from "components/con/speakers/SpeakerList" ;
44import SectionTitle from "components/con/common/typography/SectionTitle" ;
55import SectionSubTitle from "components/con/common/typography/SectionSubtitle" ;
6- import Web from "components /con/common/Web " ;
6+ import { currentEdition } from "data /con/editions " ;
77import Wave from "components/con/common/Wave" ;
88import Venue from "components/con/home/Venue" ;
9- import Image from "next/image" ;
109import Partners from "components/con/home/Partners" ;
1110import LookingSponsorCard from "components/con/home/LookingSponsorCard" ;
1211import { Partner , Speaker } from "types/con" ;
1312import { useContext } from "react" ;
1413import { LanguageContext } from "contexts/con/LanguageContext" ;
1514import Section from "components/con/home/Section" ;
16- import PictureGallery from "components /con/common/PictureGallery " ;
15+ import prices from "data /con/2024/prices " ;
1716import Logo from "./Logo" ;
18- import AfterMovie from "app/con/2024/components/AfterMovie" ;
17+ import PricingCard from "components/con/home/Pricing/PricingCard" ;
18+ import BuyButton from "components/con/common/BuyButton" ;
1919
2020type HomePageProps = {
2121 speakers : Speaker [ ] ;
@@ -43,61 +43,28 @@ const HomePage = ({ speakers, partners, images }: HomePageProps) => {
4343 { t ( "2025.subbaseline" ) }
4444 </ p >
4545 < div className = "flex gap-2" >
46- < Button className = "pink" to = { `/${ locale } /con/2024/review` } >
46+ { currentEdition === "2025" && (
47+ < BuyButton className = "mr-2" id = "cover" >
48+ { t ( "buy_tickets" ) }
49+ </ BuyButton >
50+ ) }
51+ < Button empty to = { `/${ locale } /con/2024/review` } >
4752 { t ( "2025.previous_edition" ) }
4853 </ Button >
4954 </ div >
5055 </ div >
5156 </ div >
5257 < Wave className = "absolute opacity-30 z-0 bottom-0 h-[60vh] right-[7%] top-[63%] -translate-y-1/2" />
5358 </ Section >
54- < Section
55- section = "lastYear"
56- className = "bg-white z-10 relative pb-10 overflow-y-clip"
57- >
58- < div className = "container text-center" >
59- < SectionTitle >
60- < Translate translationKey = "last_edition.title" />
61- </ SectionTitle >
62- < SectionSubTitle >
63- < Translate
64- translationKey = "2025.see_review.subtitle"
65- translationParams = { {
66- edition : "2024" ,
67- link : (
68- < a href = { `/${ locale } /con/2024/review` } className = "link" >
69- { t ( "2025.see_review.link" ) }
70- </ a >
71- ) ,
72- } }
73- />
74- </ SectionSubTitle >
75- < PictureGallery
76- className = "py-4"
77- link = "https://www.flickr.com/photos/194052559@N02/albums/72177720320499314/"
78- >
79- { images . map ( ( image : string ) => (
80- < Image
81- className = "object-cover"
82- key = { image }
83- fill
84- src = { image }
85- alt = ""
86- sizes = "(max-width: 640px) 200px, (max-width: 768px) 240px, (max-width: 1536px) 300px, 400px"
87- />
88- ) ) }
89- </ PictureGallery >
90- </ div >
91- </ Section >
9259 < Section
9360 section = "speakers"
94- className = "z-10 relative py-4 overflow-x-hidden text-white "
61+ className = "bg-white z-10 relative py-4 overflow-x-hidden"
9562 >
9663 < div className = "container text-center" >
97- < SectionTitle dark h1 >
64+ < SectionTitle h1 >
9865 < Translate translationKey = "2025.our_speakers.title" />
9966 </ SectionTitle >
100- < SectionSubTitle dark >
67+ < SectionSubTitle >
10168 < Translate
10269 translationKey = "2025.our_speakers.subtitle"
10370 translationParams = { {
@@ -130,15 +97,86 @@ const HomePage = ({ speakers, partners, images }: HomePageProps) => {
13097 </ Button >
13198 </ div >
13299 </ Section >
100+ { currentEdition === "2025" && (
101+ < Section
102+ className = "relative py-10 before:bg-grey before:h-[calc(100%-500px)] before:absolute before:left-0 before:bottom-0 before:w-full after:bg-wave2 after:w-[1300px] after:h-[800px] after:absolute after:top-24 after:left-1/2 after:bg-top after:bg-contain after:opacity-50 after:bg-no-repeat after:-translate-x-1/2 after:rotate-6"
103+ section = "pricing"
104+ >
105+ < div className = "container relative z-10" >
106+ < SectionTitle dark >
107+ < Translate translationKey = "pricing.title" />
108+ </ SectionTitle >
109+ < div className = "max-w-4xl mx-auto flex flex-row flex-wrap justify-center" >
110+ { prices . map ( ( price ) => (
111+ < PricingCard key = { price . id } price = { price } />
112+ ) ) }
113+ < div className = "w-full self-center max-w-md mt-10 | lg:pl-10 lg:mt-0 lg:w-1/3" >
114+ < div className = "p-5 dotted-corner flex flex-col items-center text-center bg-blue bg-blue-gradient shadow-md border-blue-dark border-4" >
115+ < span className = "font-bold text-white leading-tight font-title uppercase lined-center lined-white relative" >
116+ { t ( "pricing.student" ) }
117+ </ span >
118+ < div className = "mt-2 text-blue-black/80 font-semibold" >
119+ < Translate translationKey = "pricing.free_ticket" />
120+ </ div >
121+ < Button
122+ size = "small"
123+ square
124+ className = "white mt-2 mb-5"
125+ to = "mailto:events@les-tilleuls.coop"
126+ >
127+ { t ( "contact_us" ) }
128+ </ Button >
129+ < small className = "text-xs text-blue-black/50 font-bold" >
130+ *{ t ( "pricing.certificate_needed" ) }
131+ </ small >
132+ </ div >
133+ </ div >
134+ </ div >
135+ </ div >
136+ </ Section >
137+ ) }
138+ < Venue subtitle = { t ( "2025.venue.subtitle" ) } />
139+ < Section
140+ section = "lastYear"
141+ className = " z-10 relative pb-10 overflow-y-clip"
142+ >
143+ < div className = "container text-center flex flex-col items-center pt-12" >
144+ < SectionTitle dark >
145+ < Translate translationKey = "last_edition.title" />
146+ </ SectionTitle >
147+ < SectionSubTitle dark >
148+ < Translate
149+ translationKey = "2025.see_review.subtitle"
150+ translationParams = { {
151+ edition : "2024" ,
152+ link : (
153+ < a href = { `/${ locale } /con/2024/review` } className = "link" >
154+ { t ( "2025.see_review.link" ) }
155+ </ a >
156+ ) ,
157+ } }
158+ />
159+ </ SectionSubTitle >
160+ < iframe
161+ className = "aspect-video w-full max-w-2xl border-white border-8 shadow-2xl"
162+ src = "https://www.youtube.com/embed/XXj8NCvLuis?si=hWGWKS81UriUkJ3R&controls=0"
163+ title = "YouTube video player"
164+ frameBorder = "0"
165+ allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
166+ referrerPolicy = "strict-origin-when-cross-origin"
167+ allowFullScreen
168+ > </ iframe >
169+ </ div >
170+ </ Section >
133171 < Section
134172 section = "missing"
135- className = "relative z-10 text-center overflow-y-clip bg-white "
173+ className = "relative bg-grey z-10 text-center overflow-y-clip"
136174 >
137175 < div className = "container text-center" >
138176 < SectionTitle >
139177 < Translate
140178 translationKey = "missing_conferences.title"
141- translationParams = { { edition : "2024 " } }
179+ translationParams = { { edition : "2025 " } }
142180 />
143181 </ SectionTitle >
144182 < SectionSubTitle > { t ( "missing_conferences.subtitle" ) } </ SectionSubTitle >
@@ -151,10 +189,6 @@ const HomePage = ({ speakers, partners, images }: HomePageProps) => {
151189 </ Button >
152190 </ div >
153191 </ Section >
154- < div className = "pb-12" >
155- < AfterMovie />
156- </ div >
157- < Venue subtitle = { t ( "2025.venue.subtitle" ) } />
158192 < Section section = "sponsorship" className = "py-8" >
159193 < div className = "container text-center" >
160194 < SectionTitle dark >
0 commit comments