@@ -60,7 +60,7 @@ const AgendaAccordion = () => {
6060 </ motion . h1 >
6161
6262 { /* Keynote Speakers Section */ }
63- { /* <KeynoteSpeakers /> */ }
63+ < KeynoteSpeakers />
6464
6565 { IS_COMING_SOON && < ComingSoon /> }
6666 { ! IS_COMING_SOON && (
@@ -445,116 +445,116 @@ const TalkCard = ({
445445 ) ;
446446} ;
447447
448- // const KeynoteSpeakers = () => {
449- // return (
450- // <div className="px-4 py-8 lg:px-10 relative">
451- // <motion.div
452- // className="mb-8 text-center"
453- // initial={{ opacity: 0, y: -20 }}
454- // animate={{ opacity: 1, y: 0 }}
455- // transition={{ delay: 0.2 }}
456- // >
457- // <h2 className="mb-4 text-4xl font-bold bg-gradient-to-r from-purple-600 via-pink-500 to-blue-500 bg-clip-text text-transparent lg:text-5xl">
458- // 🎤 Keynote Speakers
459- // </h2>
460- // <div className="w-24 h-1 bg-gradient-to-r from-purple-500 to-pink-500 mx-auto rounded-full"></div>
461- // </motion.div>
462-
463- // <div className="grid gap-8 md:grid-cols-2 lg:gap-12 max-w-4xl mx-auto">
464- // {/* Yan Cui */}
465- // <motion.div
466- // className="group relative overflow-hidden bg-white rounded-3xl shadow-xl hover:shadow-2xl transition-all duration-500 transform hover:-translate-y-2"
467- // initial={{ opacity: 0, x: -50 }}
468- // animate={{ opacity: 1, x: 0 }}
469- // transition={{ delay: 0.4 }}
470- // >
471- // <div className="absolute inset-0 bg-gradient-to-br from-purple-400 via-pink-400 to-purple-600 opacity-0 group-hover:opacity-10 transition-opacity duration-500"></div>
472- // <div className="relative p-8 text-center">
473- // <div className="mb-6 relative">
474- // <div className="absolute inset-0 bg-gradient-to-r from-purple-400 to-pink-400 rounded-full blur-lg opacity-30 scale-110"></div>
475- // <img
476- // src="/speakers/yan_cui.jpg "
477- // alt="Yan Cui "
478- // className="relative w-32 h-32 rounded-full object-cover border-4 border-white shadow-xl mx-auto"
479- // />
480- // <div className="absolute -top-2 -right-2 bg-gradient-to-r from-purple-500 to-pink-500 text-white text-xs px-2 py-1 rounded-full font-bold">
481- // ⭐ KEYNOTE
482- // </div>
483- // </div>
484- // <h3 className="mb-3 text-2xl font-bold bg-gradient-to-r from-purple-700 to-pink-600 bg-clip-text text-transparent">
485- // Yan Cui
486- // </h3>
487- // <p className="mb-2 text-lg font-semibold text-purple-600">Lumigo </p>
488- // <p className="mb-4 text-sm text-gray-600 leading-relaxed">
489- // AWS Serverless Hero & Author of "Production-Ready Serverless"
490- // </p>
491- // <div className="mb-6 p-4 bg-gradient-to-r from-purple-50 to-pink-50 rounded-xl">
492- // <h4 className="font-bold text-gray-800 text-lg">
493- // " Serverless, the hard parts"
494- // </h4>
495- // </div>
496- // <div className="flex flex-wrap justify-center gap-2 text-xs">
497- // <span className="bg-purple-100 text-purple-700 px-3 py-1 rounded-full font-medium">
498- // 🌟 AWS Hero
499- // </span>
500- // <span className="bg-pink-100 text-pink-700 px-3 py-1 rounded-full font-medium">
501- // 📚 Author
502- // </span>
503- // <span className="bg-blue-100 text-blue-700 px-3 py-1 rounded-full font-medium">
504- // 🎯 Consultant
505- // </span>
506- // </div>
507- // </div>
508- // </motion.div>
509-
510- // {/* James Eastham */}
511- // <motion.div
512- // className="group relative overflow-hidden bg-white rounded-3xl shadow-xl hover:shadow-2xl transition-all duration-500 transform hover:-translate-y-2"
513- // initial={{ opacity: 0, x: 50 }}
514- // animate={{ opacity: 1, x: 0 }}
515- // transition={{ delay: 0.6 }}
516- // >
517- // <div className="absolute inset-0 bg-gradient-to-br from-blue-400 via-purple-400 to-blue-600 opacity-0 group-hover:opacity-10 transition-opacity duration-500"></div>
518- // <div className="relative p-8 text-center">
519- // <div className="mb-6 relative">
520- // <div className="absolute inset-0 bg-gradient-to-r from-blue-400 to-purple-400 rounded-full blur-lg opacity-30 scale-110"></div>
521- // <img
522- // src="/speakers/james_eastham.jpg"
523- // alt="James Eastham"
524- // className="relative w-32 h-32 rounded-full object-cover border-4 border-white shadow-xl mx-auto"
525- // />
526- // <div className="absolute -top-2 -right-2 bg-gradient-to-r from-blue-500 to-purple-500 text-white text-xs px-2 py-1 rounded-full font-bold">
527- // ⭐ KEYNOTE
528- // </div>
529- // </div>
530- // <h3 className="mb-3 text-2xl font-bold bg-gradient-to-r from-blue-700 to-purple-600 bg-clip-text text-transparent">
531- // James Eastham
532- // </h3>
533- // <p className="mb-2 text-lg font-semibold text-blue-600">Datadog</p>
534- // <p className="mb-4 text-sm text-gray-600 leading-relaxed">
535- // Serverless Developer Advocate & Microsoft MVP
536- // </p>
537- // <div className="mb-6 p-4 bg-gradient-to-r from-blue-50 to-purple-50 rounded-xl">
538- // <h4 className="font-bold text-gray-800 text-lg">
539- // "Why Should You Think Serverless First?"
540- // </h4>
541- // </div>
542- // <div className="flex flex-wrap justify-center gap-2 text-xs">
543- // <span className="bg-blue-100 text-blue-700 px-3 py-1 rounded-full font-medium">
544- // ☁️ Advocate
545- // </span>
546- // <span className="bg-purple-100 text-purple-700 px-3 py-1 rounded-full font-medium">
547- // 🚀 DevRel
548- // </span>
549- // <span className="bg-green-100 text-green-700 px-3 py-1 rounded-full font-medium">
550- // 💻 MVP
551- // </span>
552- // </div>
553- // </div>
554- // </motion.div>
555- // </div>
556- // </div>
557- // );
558- // };
448+ const KeynoteSpeakers = ( ) => {
449+ return (
450+ < div className = "px-4 py-6 lg:px-10 relative" >
451+ < motion . div
452+ className = "mb-10 text-center relative z-20 "
453+ initial = { { opacity : 0 , y : - 20 } }
454+ animate = { { opacity : 1 , y : 0 } }
455+ transition = { { delay : 0.2 } }
456+ >
457+ < h2 className = "mb-4 text-4xl font-bold bg-gradient-to-r from-purple-600 via-pink-500 to-blue-500 bg-clip-text text-transparent lg:text-5xl" >
458+ 🎤 Keynote Speakers
459+ </ h2 >
460+ < div className = "w-24 h-1 bg-gradient-to-r from-purple-500 to-pink-500 mx-auto rounded-full" > </ div >
461+ </ motion . div >
462+
463+ < div className = "mt-12 grid gap-8 md:grid-cols-2 lg:gap-12 max-w-4xl mx-auto" >
464+ { /* Luca Mezzalira */ }
465+ < motion . div
466+ className = "group relative overflow-hidden bg-white rounded-3xl shadow-xl hover:shadow-2xl transition-all duration-500 transform hover:-translate-y-2"
467+ initial = { { opacity : 0 , x : - 50 } }
468+ animate = { { opacity : 1 , x : 0 } }
469+ transition = { { delay : 0.4 } }
470+ >
471+ < div className = "absolute inset-0 bg-gradient-to-br from-purple-400 via-pink-400 to-purple-600 opacity-0 group-hover:opacity-10 transition-opacity duration-500" > </ div >
472+ < div className = "relative p-8 text-center" >
473+ < div className = "mb-6 relative" >
474+ < div className = "absolute inset-0 bg-gradient-to-r from-purple-400 to-pink-400 rounded-full blur-lg opacity-30 scale-110" > </ div >
475+ < img
476+ src = "/speakers/luca-mezzalira.jpeg "
477+ alt = "Luca Mezzalira "
478+ className = "relative w-32 h-32 rounded-full object-cover border-4 border-white shadow-xl mx-auto"
479+ />
480+ < div className = "absolute -top-2 -right-2 bg-gradient-to-r from-purple-500 to-pink-500 text-white text-xs px-2 py-1 rounded-full font-bold" >
481+ ⭐ KEYNOTE
482+ </ div >
483+ </ div >
484+ < h3 className = "mb-3 text-2xl font-bold bg-gradient-to-r from-purple-700 to-pink-600 bg-clip-text text-transparent" >
485+ Luca Mezzalira
486+ </ h3 >
487+ < p className = "mb-2 text-lg font-semibold text-purple-600" > Amazon Web Services </ p >
488+ < p className = "mb-4 text-sm text-gray-600 leading-relaxed" >
489+ Software Architect, International speaker & author
490+ </ p >
491+ < div className = "mb-6 p-4 bg-gradient-to-r from-purple-50 to-pink-50 rounded-xl" >
492+ < h4 className = "font-bold text-gray-800 text-lg" >
493+ Serverless is not what you think it is
494+ </ h4 >
495+ </ div >
496+ < div className = "flex flex-wrap justify-center gap-2 text-xs" >
497+ < span className = "bg-purple-100 text-purple-700 px-3 py-1 rounded-full font-medium" >
498+ 🌟 International speaker
499+ </ span >
500+ < span className = "bg-pink-100 text-pink-700 px-3 py-1 rounded-full font-medium" >
501+ 📚 Author
502+ </ span >
503+ < span className = "bg-blue-100 text-blue-700 px-3 py-1 rounded-full font-medium" >
504+ 📹 Content Creator
505+ </ span >
506+ </ div >
507+ </ div >
508+ </ motion . div >
509+
510+ { /* James Eastham */ }
511+ { /* <motion.div
512+ className="group relative overflow-hidden bg-white rounded-3xl shadow-xl hover:shadow-2xl transition-all duration-500 transform hover:-translate-y-2"
513+ initial={{ opacity: 0, x: 50 }}
514+ animate={{ opacity: 1, x: 0 }}
515+ transition={{ delay: 0.6 }}
516+ >
517+ <div className="absolute inset-0 bg-gradient-to-br from-blue-400 via-purple-400 to-blue-600 opacity-0 group-hover:opacity-10 transition-opacity duration-500"></div>
518+ <div className="relative p-8 text-center">
519+ <div className="mb-6 relative">
520+ <div className="absolute inset-0 bg-gradient-to-r from-blue-400 to-purple-400 rounded-full blur-lg opacity-30 scale-110"></div>
521+ <img
522+ src="/speakers/james_eastham.jpg"
523+ alt="James Eastham"
524+ className="relative w-32 h-32 rounded-full object-cover border-4 border-white shadow-xl mx-auto"
525+ />
526+ <div className="absolute -top-2 -right-2 bg-gradient-to-r from-blue-500 to-purple-500 text-white text-xs px-2 py-1 rounded-full font-bold">
527+ ⭐ KEYNOTE
528+ </div>
529+ </div>
530+ <h3 className="mb-3 text-2xl font-bold bg-gradient-to-r from-blue-700 to-purple-600 bg-clip-text text-transparent">
531+ James Eastham
532+ </h3>
533+ <p className="mb-2 text-lg font-semibold text-blue-600">Datadog</p>
534+ <p className="mb-4 text-sm text-gray-600 leading-relaxed">
535+ Serverless Developer Advocate & Microsoft MVP
536+ </p>
537+ <div className="mb-6 p-4 bg-gradient-to-r from-blue-50 to-purple-50 rounded-xl">
538+ <h4 className="font-bold text-gray-800 text-lg">
539+ "Why Should You Think Serverless First?"
540+ </h4>
541+ </div>
542+ <div className="flex flex-wrap justify-center gap-2 text-xs">
543+ <span className="bg-blue-100 text-blue-700 px-3 py-1 rounded-full font-medium">
544+ ☁️ Advocate
545+ </span>
546+ <span className="bg-purple-100 text-purple-700 px-3 py-1 rounded-full font-medium">
547+ 🚀 DevRel
548+ </span>
549+ <span className="bg-green-100 text-green-700 px-3 py-1 rounded-full font-medium">
550+ 💻 MVP
551+ </span>
552+ </div>
553+ </div>
554+ </motion.div> */ }
555+ </ div >
556+ </ div >
557+ ) ;
558+ } ;
559559
560560// use the json schema from the file and create a type
0 commit comments