Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 82 additions & 3 deletions src/app/day/2026/amsterdam/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,85 @@
// Amsterdam is TBC — redirect to /day until confirmed
import { redirect } from "next/navigation"
import { Metadata } from "next"

import { Button } from "@/app/conf/_design-system/button"
import { Hero, HeroDateAndLocation } from "../components/hero"
import { AboutSection } from "../components/about-section"
import { WhyAttendSection } from "../components/why-attend-section"
import {
BecomeASpeakerSection,
CfpButton,
} from "../components/become-a-speaker"
import { EventPartnersSection } from "../components/event-partners"
import { CtaCardSection } from "../components/cta-card-section"
import { MarqueeRows } from "@/app/conf/2026/components/marquee-rows"
import { PastSpeakersSection } from "../components/past-speakers"
import { NavbarPlaceholder } from "../components/navbar"
import { GallerySection } from "../../gallery-section"

const MARQUEE_ITEMS = [
["AMSTERDAM", "JUNE 2026", "GRAPHQL DAY", "FOST", "COMMUNITY", "APIs"],
[
"OPEN SOURCE",
"WORKSHOPS",
"FEDERATION",
"DEVELOPER EXPERIENCE",
"GRAPHQL DAY",
"AMSTERDAM",
],
]

export const metadata: Metadata = {
title: "GraphQL Day @ FOST AMSTERDAM — June 9-10",
}

export default function AmsterdamPage() {
redirect("/day")
return (
<>
<NavbarPlaceholder className="top-0 bg-neu-100 before:bg-white/30 dark:bg-neu-50/50 dark:before:bg-blk/40" />
<main className="gql-all-anchors-focusable">
<Hero subtitle="@ FOST Amsterdam" colorScheme="neutral">
<HeroDateAndLocation
date="Jun 9-10, 2026"
dateTime="2026-06-09"
location="Amsterdam, The Netherlands"
/>
<div className="flex flex-wrap items-center gap-x-4 gap-y-2 max-sm:*:flex-1">
<Button disabled className="whitespace-nowrap opacity-55 md:w-fit">
Tickets coming soon
</Button>
<CfpButton className="whitespace-nowrap md:w-fit" />
</div>
</Hero>
<AboutSection />
<MarqueeRows
variant="primary"
className="z-10 bg-neu-0 py-4 max-sm:pb-1 sm:py-6 md:space-y-2 md:py-12"
items={MARQUEE_ITEMS}
/>
<div className="gql-container gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30">
<WhyAttendSection />
<BecomeASpeakerSection />
<PastSpeakersSection />
<EventPartnersSection />
<GallerySection moving />
<CtaCardSection
title="Stay tuned"
description="Join us for a day of GraphQL talks, networking, and hands-on learning at FOST Amsterdam."
>
<Button
disabled
variant="primary"
className="whitespace-nowrap opacity-55"
>
Tickets coming soon
</Button>
</CtaCardSection>
<MarqueeRows
variant="secondary"
className="my-8 xl:mb-16 xl:mt-10"
items={MARQUEE_ITEMS}
/>
</div>
</main>
</>
)
}
17 changes: 8 additions & 9 deletions src/app/day/events-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,14 @@ export const EVENTS: EventMapItem[] = [
lon: -74.006,
lat: 40.7128,
},
// Amsterdam TBC — uncomment when confirmed
// {
// id: "amsterdam",
// city: "Amsterdam",
// date: "Jun 9-10 [TBC]",
// href: "/day/2026/amsterdam",
// lon: 4.9041,
// lat: 52.3676,
// },
{
id: "amsterdam",
city: "Amsterdam",
date: "Jun 9-10",
href: "/day/2026/amsterdam",
lon: 4.9041,
lat: 52.3676,
},
{
id: "melbourne",
city: "Melbourne",
Expand Down
Loading