Skip to content

Commit a748188

Browse files
committed
Add GalleryStrip
1 parent 4b3d08d commit a748188

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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+
}

src/app/conf/2025/page.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { MarqueeRows } from "./components/marquee-rows"
1515
import { CtaCardSection } from "./components/cta-card-section"
1616
import { Button } from "../_design-system/button"
1717
import { GET_TICKETS_LINK } from "./links"
18+
import { GalleryStrip } from "./components/gallery-strip"
1819

1920
export 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

0 commit comments

Comments
 (0)