@@ -14,32 +14,36 @@ import { ImageLoaded } from "./image-loaded"
1414
1515export function Hero ( ) {
1616 return (
17- < section className = "isolate flex flex-col justify-center bg-pri-base text-neu-0 dark:bg-pri-darker dark:text-neu-900" >
18- < div className = "relative mx-auto flex w-[90rem] max-w-full flex-col gap-12 overflow-hidden p-4 pt-6 md:gap-12 md:bg-left md:px-24 xl:pb-16 xl:pt-24 " >
17+ < article className = "relative isolate flex flex-col justify-center bg-pri-base text-neu-0 dark:bg-pri-darker dark:text-neu-900" >
18+ < article className = "relative" >
1919 < Stripes />
20- < div className = "flex gap-10 max-md:flex-col md:justify-between" >
21- < h1 className = "flex flex-wrap gap-2 typography-d1" >
22- < span > GraphQLConf</ span >
23- < span className = "text-sec-base" > 2025</ span >
24- </ h1 >
25- < div className = "flex h-min items-center gap-4" >
26- < span className = "whitespace-pre typography-body-sm" > hosted by</ span >
27- < img
28- src = { graphqlFoundationWordmarkSvg . src }
29- alt = "GraphQL Foundation"
30- width = { 128 }
31- height = { 34.877 }
32- />
20+ < div className = "gql-conf-container mx-auto flex max-w-full flex-col gap-12 overflow-hidden p-4 pt-6 sm:p-8 sm:pt-12 md:gap-12 md:bg-left md:p-12 lg:px-24 lg:pb-16 lg:pt-24" >
21+ < div className = "flex gap-10 max-md:flex-col md:justify-between" >
22+ < h1 className = "flex flex-wrap gap-2 typography-d1" >
23+ < span > GraphQLConf</ span >
24+ < span className = "text-sec-base" > 2025</ span >
25+ </ h1 >
26+ < div className = "flex h-min items-center gap-4" >
27+ < span className = "whitespace-pre typography-body-sm" >
28+ hosted by
29+ </ span >
30+ < img
31+ src = { graphqlFoundationWordmarkSvg . src }
32+ alt = "GraphQL Foundation"
33+ width = { 128 }
34+ height = { 34.877 }
35+ />
36+ </ div >
3337 </ div >
34- </ div >
3538
36- < div className = "flex flex-col gap-8" >
37- < DateAndLocation />
38- < Button className = "md:w-fit" href = { GET_TICKETS_LINK } >
39- Get your tickets
40- </ Button >
39+ < div className = "flex flex-col gap-8" >
40+ < DateAndLocation />
41+ < Button className = "md:w-fit" href = { GET_TICKETS_LINK } >
42+ Get your tickets
43+ </ Button >
44+ </ div >
4145 </ div >
42- </ div >
46+ </ article >
4347 < div className = "bg-[#000]" >
4448 < Image
4549 src = { heroPhoto }
@@ -49,7 +53,7 @@ export function Hero() {
4953 className = "mx-auto h-[560px] w-[1920px] max-w-full object-cover"
5054 />
5155 </ div >
52- </ section >
56+ </ article >
5357 )
5458}
5559
@@ -82,13 +86,12 @@ function Stripes() {
8286 < ImageLoaded
8387 role = "presentation"
8488 image = { blurBean }
85- className = "pointer-events-none absolute inset-x-0 bottom-[-385px] top-[-203px] -z-10 translate-y-12 opacity-0 transition duration-500 ease-linear data-[loaded=true]:translate-y-0 data-[loaded=true]:opacity-100"
89+ className = "pointer-events-none absolute inset-x-0 bottom-[-385px] top-[-203px] -z-10 translate-y-12 opacity-0 transition duration-[400ms] ease-linear [mask-size:100%_50%] data-[loaded=true]:translate-y-0 data-[loaded=true]:opacity-100 sm:[mask-size:125%] xl:[mask-size:100%] "
8690 // todo: animate opacity up after the image is loaded
8791 style = { {
8892 maskImage : `url(${ blurBean . src } )` ,
8993 WebkitMaskImage : `url(${ blurBean . src } )` ,
90- maskSize : "100%" ,
91- WebkitMaskSize : "100%" ,
94+ // maskSize: "100%", // todo: I need the newly exported full blur bean with rotation to match the mobile design.
9295 maskRepeat : "no-repeat" ,
9396 WebkitMaskRepeat : "no-repeat" ,
9497 maskPosition : "center" ,
0 commit comments