File tree 2 files changed +47
-0
lines changed
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"
15
15
import { CtaCardSection } from "./components/cta-card-section"
16
16
import { Button } from "../_design-system/button"
17
17
import { GET_TICKETS_LINK } from "./links"
18
+ import { GalleryStrip } from "./components/gallery-strip"
18
19
19
20
export const metadata : Metadata = {
20
21
title : "GraphQLConf 2025 — Sept 08-10" ,
@@ -76,6 +77,7 @@ export default function Page() {
76
77
className = "my-8 xl:mb-16 xl:mt-10 2xl:mb-24"
77
78
/>
78
79
< Venue />
80
+ < GalleryStrip />
79
81
< GraphQLFoundationCard />
80
82
< FAQ />
81
83
< CtaCardSection
You can’t perform that action at this time.
0 commit comments