Skip to content

Commit 9af0740

Browse files
authored
Add GraphQL day Bengaluru (#2378)
ping @riginoommen
1 parent 4f00664 commit 9af0740

File tree

5 files changed

+121
-6
lines changed

5 files changed

+121
-6
lines changed

src/app/(main)/community/events/events.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ export const events: Event[] = [
3030
host: "FOST & GraphQL Community",
3131
hostLink: "https://www.joinfost.io",
3232
},
33+
{
34+
name: "GraphQL Day at FOST Bengaluru",
35+
slug: "graphql-day-fost-bengaluru-2026",
36+
location: "Bengaluru",
37+
date: "2026-08-19T09:00:00+05:30",
38+
eventLink: "/day/2026/bengaluru",
39+
host: "FOST & GraphQL Community",
40+
hostLink: "https://www.joinfost.io",
41+
},
3342
{
3443
name: "WG Day 2026",
3544
slug: "wg-day-2026",
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
import { Metadata } from "next"
2+
3+
import { Button } from "@/app/conf/_design-system/button"
4+
import { Hero, HeroDateAndLocation } from "../components/hero"
5+
import { AboutSection } from "../components/about-section"
6+
import { WhyAttendSection } from "../components/why-attend-section"
7+
import {
8+
BecomeASpeakerSection,
9+
CfpButton,
10+
} from "../components/become-a-speaker"
11+
import { EventPartnersSection } from "../components/event-partners"
12+
import { CtaCardSection } from "../components/cta-card-section"
13+
import { MarqueeRows } from "@/app/conf/2026/components/marquee-rows"
14+
import { PastSpeakersSection } from "../components/past-speakers"
15+
import { NavbarPlaceholder } from "../components/navbar"
16+
import { GallerySection } from "../../gallery-section"
17+
18+
const CFP_LINK = "https://confengine.com/conferences/apidays-india-2026"
19+
20+
const MARQUEE_ITEMS = [
21+
["BENGALURU", "AUGUST 2026", "GRAPHQL DAY", "FOST", "COMMUNITY", "APIs"],
22+
[
23+
"OPEN SOURCE",
24+
"WORKSHOPS",
25+
"FEDERATION",
26+
"DEVELOPER EXPERIENCE",
27+
"GRAPHQL DAY",
28+
"BENGALURU",
29+
],
30+
]
31+
32+
export const metadata: Metadata = {
33+
title: "GraphQL Day @ FOST BENGALURU — Aug 19-20",
34+
}
35+
36+
export default function BengaluruPage() {
37+
return (
38+
<>
39+
<NavbarPlaceholder className="top-0 bg-neu-100 before:bg-white/30 dark:bg-neu-50/50 dark:before:bg-blk/40" />
40+
<main className="gql-all-anchors-focusable">
41+
<Hero subtitle="@ FOST Bengaluru" colorScheme="neutral">
42+
<HeroDateAndLocation
43+
date="Aug 19-20, 2026"
44+
dateTime="2026-08-19"
45+
location="Conrad Bengaluru, India"
46+
/>
47+
<div className="flex flex-wrap items-center gap-x-4 gap-y-2 max-sm:*:flex-1">
48+
<Button disabled className="whitespace-nowrap opacity-55 md:w-fit">
49+
Tickets coming soon
50+
</Button>
51+
<CfpButton
52+
cfpLink={CFP_LINK}
53+
className="whitespace-nowrap md:w-fit"
54+
/>
55+
</div>
56+
</Hero>
57+
<AboutSection />
58+
<MarqueeRows
59+
variant="primary"
60+
className="z-10 bg-neu-0 py-4 max-sm:pb-1 sm:py-6 md:space-y-2 md:py-12"
61+
items={MARQUEE_ITEMS}
62+
/>
63+
<div className="gql-container gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30">
64+
<WhyAttendSection />
65+
<BecomeASpeakerSection cfpLink={CFP_LINK} />
66+
<PastSpeakersSection />
67+
<EventPartnersSection />
68+
<GallerySection moving />
69+
<CtaCardSection
70+
title="Stay tuned"
71+
description="Join us for a day of GraphQL talks, networking, and hands-on learning at FOST Bengaluru."
72+
>
73+
<Button
74+
disabled
75+
variant="primary"
76+
className="whitespace-nowrap opacity-55"
77+
>
78+
Tickets coming soon
79+
</Button>
80+
</CtaCardSection>
81+
<MarqueeRows
82+
variant="secondary"
83+
className="my-8 xl:mb-16 xl:mt-10"
84+
items={MARQUEE_ITEMS}
85+
/>
86+
</div>
87+
</main>
88+
</>
89+
)
90+
}

src/app/day/2026/components/become-a-speaker.tsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,26 @@ import { Button } from "@/app/conf/_design-system/button"
22

33
const CFP_LINK = "https://forms.gle/M1kiuvwK2wLJyNzi9"
44

5-
export function CfpButton({ className }: { className?: string }) {
5+
export function CfpButton({
6+
className,
7+
cfpLink,
8+
}: {
9+
className?: string
10+
cfpLink?: string
11+
}) {
612
return (
7-
<Button href={CFP_LINK} className={className}>
13+
<Button href={cfpLink || CFP_LINK} className={className}>
814
Submit a talk
915
</Button>
1016
)
1117
}
1218

1319
export function BecomeASpeakerSection({
1420
cfpDeadline,
21+
cfpLink,
1522
}: {
1623
cfpDeadline?: string
24+
cfpLink?: string
1725
}) {
1826
return (
1927
<section className="gql-section xl:py-12">
@@ -36,7 +44,7 @@ export function BecomeASpeakerSection({
3644
{cfpDeadline && (
3745
<p className="typography-body-lg">The CFP closes on {cfpDeadline}.</p>
3846
)}
39-
<CfpButton className="whitespace-nowrap md:w-fit" />
47+
<CfpButton cfpLink={cfpLink} className="whitespace-nowrap md:w-fit" />
4048
</div>
4149
</section>
4250
)

src/app/day/events-data.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ export const EVENTS: EventMapItem[] = [
3232
lon: 4.9041,
3333
lat: 52.3676,
3434
},
35+
{
36+
id: "bengaluru",
37+
city: "Bengaluru",
38+
date: "Aug 19-20",
39+
href: "/day/2026/bengaluru",
40+
lon: 77.5946,
41+
lat: 12.9716,
42+
},
3543
{
3644
id: "melbourne",
3745
city: "Melbourne",

src/app/day/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ import { NavbarPlaceholder } from "./2026/components/navbar"
1414
import fostLogo from "./2026/assets/fost-logo.avif"
1515
import { GallerySection } from "./gallery-section"
1616

17-
const NUMBER_OF_CITIES_SPELLED_OUT = "four"
17+
const NUMBER_OF_CITIES_SPELLED_OUT = "six"
1818
if (process.env.NODE_ENV === "development") {
19-
if (EVENTS.length !== 4)
19+
if (EVENTS.length !== 6)
2020
throw new Error(
21-
"EVENTS is expected to be 4, please update the NUMBER_OF_CITIES_SPELLED_OUT variable",
21+
"EVENTS is expected to be 6, please update the NUMBER_OF_CITIES_SPELLED_OUT variable",
2222
)
2323
}
2424

0 commit comments

Comments
 (0)