@@ -11,7 +11,6 @@ import {
1111 StyledSpeakersSection ,
1212} from "../Speakers/Speakers.style" ;
1313import { StyledMarginBottom } from "../Talks/Talks.style" ;
14- import data from "@data/2025.json" ;
1514import { format } from "date-fns" ;
1615import Flicking from "@egjs/react-flicking" ;
1716import { AutoPlay } from "@egjs/flicking-plugins" ;
@@ -21,6 +20,18 @@ import { gaEventTracker } from "@components/analytics/Analytics";
2120import { useDocumentTitleUpdater } from "@hooks/useDocumentTitleUpdate" ;
2221// @ts -expect-error some quirky import
2322import { AnimatePresence , motion } from "framer-motion" ;
23+ import { useParams } from "react-router" ;
24+ import data2023 from "@data/2023.json" ;
25+ import data2024 from "@data/2024.json" ;
26+ import data2025 from "@data/2025.json" ;
27+ import data2026 from "@data/2026.json" ;
28+
29+ const editions : Record < string , typeof data2026 > = {
30+ "2023" : data2023 ,
31+ "2024" : data2024 ,
32+ "2025" : data2025 ,
33+ "2026" : data2026 ,
34+ } ;
2435
2536const StyledWaveContainer = styled . div `
2637 background: ${ Color . DARK_BLUE } ;
@@ -92,6 +103,9 @@ const StyleMoreIcon = styled.img`
92103` ;
93104
94105const Sponsorship : FC < React . PropsWithChildren < unknown > > = ( ) => {
106+ const { id } = useParams < { id : string } > ( ) ;
107+ const edition = id || "2026" ;
108+ const data = editions [ edition ] || editions [ "2026" ] ;
95109 const { width } = useWindowSize ( ) ;
96110 const plugins = [
97111 new AutoPlay ( { duration : 2000 , direction : "NEXT" , stopOnHover : false } ) ,
@@ -137,7 +151,7 @@ const Sponsorship: FC<React.PropsWithChildren<unknown>> = () => {
137151 subtitle = { `The DevBcn is the yearly event organised by Conferencia DevBcn S.L. Conference Talks will held on ${ format (
138152 new Date ( data . startDay ) ,
139153 "MMMM do, yyyy" ,
140- ) } at La Farga, Hospitalet de Llobregat `}
154+ ) } at ${ data . venue } `}
141155 color = { Color . DARK_BLUE }
142156 />
143157 </ motion . div >
@@ -275,7 +289,7 @@ const Sponsorship: FC<React.PropsWithChildren<unknown>> = () => {
275289 { format ( new Date ( data . startDay ) , "MMMM do" ) } —
276290 { " " . concat ( format ( data . endDay , "do" ) ) }
277291 </ strong > { " " }
278- at the iconic La Farga, Hospitalet de Llobregat . This year,
292+ at the iconic { data . venue } . This year,
279293 we're diving deep into the realms of Java, JVM, Cloud,
280294 DevOps, Frontend technologies, Leadership strategies, and
281295 groundbreaking advancements in Big Data and AI.
@@ -294,7 +308,7 @@ const Sponsorship: FC<React.PropsWithChildren<unknown>> = () => {
294308 than ever. Curious? Access our{ " " }
295309 < strong >
296310 < a
297- href = "https://bit.ly/devbcn25- brochure-v3"
311+ href = { data . brochure }
298312 target = "_blank"
299313 rel = "noreferrer"
300314 >
@@ -310,7 +324,7 @@ const Sponsorship: FC<React.PropsWithChildren<unknown>> = () => {
310324 >
311325 < Button
312326 text = "Get the Brochure"
313- link = "https://bit.ly/devbcn25- brochure-v3"
327+ link = { data . brochure }
314328 onClick = { handleCLick }
315329 />
316330 </ motion . div >
@@ -373,14 +387,23 @@ const Sponsorship: FC<React.PropsWithChildren<unknown>> = () => {
373387 < iframe
374388 width = "1024"
375389 height = "768"
376- src = "https://www.youtube.com/embed/k7iMIXtNKyo "
390+ src = "https://www.youtube.com/embed/AHWSu1WE288 "
377391 title = "YouTube video player"
378392 allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
379393 allowFullScreen
380394 > </ iframe >
381395 </ motion . div >
382396 < h4 > Explore DevBcn Talks Online!</ h4 >
383397 < ul >
398+ < li >
399+ < a
400+ rel = "noreferrer"
401+ target = "_blank"
402+ href = "https://youtube.com/playlist?list=PLzJFNZtyAbyyfUadLCuSc-8CdHct8NeSa& si = 7 lgKQAtEncL - 332 O "
403+ >
404+ 🎥 DevBcn 2025 - recorded sessions
405+ </ a >
406+ </ li >
384407 < li >
385408 < a
386409 rel = "noreferrer"
0 commit comments