File tree Expand file tree Collapse file tree 2 files changed +47
-0
lines changed Expand file tree Collapse file tree 2 files changed +47
-0
lines changed Original file line number Diff line number Diff line change 1+ "use client"
2+
3+ import { useState } from "react"
4+ import { clsx } from "clsx"
5+ import { Marquee } from "@/app/conf/_design-system/marquee"
6+
7+ const YEARS = [ "2024" , "2023" , "2022" ] as const
8+ type Year = ( typeof YEARS ) [ number ]
9+
10+ export interface GalleryStripProps extends React . HTMLAttributes < HTMLElement > { }
11+
12+ export function GalleryStrip ( { className, ...rest } : GalleryStripProps ) {
13+ const [ selectedYear , setSelectedYear ] = useState < Year > ( "2024" )
14+
15+ return (
16+ < section className = { clsx ( "py-8 md:py-16" , className ) } { ...rest } >
17+ < div className = "flex gap-3.5 max-md:items-center md:px-24" >
18+ { YEARS . map ( year => (
19+ < button
20+ key = { year }
21+ onClick = { ( ) => setSelectedYear ( year ) }
22+ className = { clsx (
23+ "p-1 typography-menu" ,
24+ selectedYear === year
25+ ? "bg-sec-light text-neu-900 dark:text-neu-0"
26+ : "text-neu-800" ,
27+ ) }
28+ >
29+ { year }
30+ </ button >
31+ ) ) }
32+ </ div >
33+
34+ < div className = "mt-6 w-full md:mt-10" >
35+ < Marquee gap = { 8 } speed = { 35 } speedOnHover = { 15 } drag reverse >
36+ { Array . from ( { length : 12 } ) . map ( ( _ , i ) => (
37+ < div key = { i } className = "md:px-2" role = "presentation" >
38+ < div className = "h-[400px] w-[300px] bg-neu-500" > </ div >
39+ </ div >
40+ ) ) }
41+ </ Marquee >
42+ </ div >
43+ </ section >
44+ )
45+ }
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ import { MarqueeRows } from "./components/marquee-rows"
1515import { CtaCardSection } from "./components/cta-card-section"
1616import { Button } from "../_design-system/button"
1717import { GET_TICKETS_LINK } from "./links"
18+ import { GalleryStrip } from "./components/gallery-strip"
1819
1920export const metadata : Metadata = {
2021 title : "GraphQLConf 2025 — Sept 08-10" ,
@@ -76,6 +77,7 @@ export default function Page() {
7677 className = "my-8 xl:mb-16 xl:mt-10 2xl:mb-24"
7778 />
7879 < Venue />
80+ < GalleryStrip />
7981 < GraphQLFoundationCard />
8082 < FAQ />
8183 < CtaCardSection
You can’t perform that action at this time.
0 commit comments