From 7ebb58352bc79ba5dc57d8a5b2d3c9b0e4db376b Mon Sep 17 00:00:00 2001 From: Martin Bonnin Date: Mon, 13 Apr 2026 11:04:55 +0200 Subject: [PATCH] Add GraphQL day bengaluru --- src/app/(main)/community/events/events.ts | 9 ++ src/app/day/2026/bengaluru/page.tsx | 90 +++++++++++++++++++ .../day/2026/components/become-a-speaker.tsx | 14 ++- src/app/day/events-data.ts | 8 ++ src/app/day/page.tsx | 6 +- 5 files changed, 121 insertions(+), 6 deletions(-) create mode 100644 src/app/day/2026/bengaluru/page.tsx diff --git a/src/app/(main)/community/events/events.ts b/src/app/(main)/community/events/events.ts index b05c530573..3ad2c19823 100644 --- a/src/app/(main)/community/events/events.ts +++ b/src/app/(main)/community/events/events.ts @@ -30,6 +30,15 @@ export const events: Event[] = [ host: "FOST & GraphQL Community", hostLink: "https://www.joinfost.io", }, + { + name: "GraphQL Day at FOST Bengaluru", + slug: "graphql-day-fost-bengaluru-2026", + location: "Bengaluru", + date: "2026-08-19T09:00:00+05:30", + eventLink: "/day/2026/bengaluru", + host: "FOST & GraphQL Community", + hostLink: "https://www.joinfost.io", + }, { name: "WG Day 2026", slug: "wg-day-2026", diff --git a/src/app/day/2026/bengaluru/page.tsx b/src/app/day/2026/bengaluru/page.tsx new file mode 100644 index 0000000000..befe79a8a2 --- /dev/null +++ b/src/app/day/2026/bengaluru/page.tsx @@ -0,0 +1,90 @@ +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 CFP_LINK = "https://confengine.com/conferences/apidays-india-2026" + +const MARQUEE_ITEMS = [ + ["BENGALURU", "AUGUST 2026", "GRAPHQL DAY", "FOST", "COMMUNITY", "APIs"], + [ + "OPEN SOURCE", + "WORKSHOPS", + "FEDERATION", + "DEVELOPER EXPERIENCE", + "GRAPHQL DAY", + "BENGALURU", + ], +] + +export const metadata: Metadata = { + title: "GraphQL Day @ FOST BENGALURU — Aug 19-20", +} + +export default function BengaluruPage() { + return ( + <> + +
+ + +
+ + +
+
+ + +
+ + + + + + + + + +
+
+ + ) +} diff --git a/src/app/day/2026/components/become-a-speaker.tsx b/src/app/day/2026/components/become-a-speaker.tsx index ac55d6ed23..d0042226a4 100644 --- a/src/app/day/2026/components/become-a-speaker.tsx +++ b/src/app/day/2026/components/become-a-speaker.tsx @@ -2,9 +2,15 @@ import { Button } from "@/app/conf/_design-system/button" const CFP_LINK = "https://forms.gle/M1kiuvwK2wLJyNzi9" -export function CfpButton({ className }: { className?: string }) { +export function CfpButton({ + className, + cfpLink, +}: { + className?: string + cfpLink?: string +}) { return ( - ) @@ -12,8 +18,10 @@ export function CfpButton({ className }: { className?: string }) { export function BecomeASpeakerSection({ cfpDeadline, + cfpLink, }: { cfpDeadline?: string + cfpLink?: string }) { return (
@@ -36,7 +44,7 @@ export function BecomeASpeakerSection({ {cfpDeadline && (

The CFP closes on {cfpDeadline}.

)} - +
) diff --git a/src/app/day/events-data.ts b/src/app/day/events-data.ts index 7d5222ee04..c1eada7d94 100644 --- a/src/app/day/events-data.ts +++ b/src/app/day/events-data.ts @@ -32,6 +32,14 @@ export const EVENTS: EventMapItem[] = [ lon: 4.9041, lat: 52.3676, }, + { + id: "bengaluru", + city: "Bengaluru", + date: "Aug 19-20", + href: "/day/2026/bengaluru", + lon: 77.5946, + lat: 12.9716, + }, { id: "melbourne", city: "Melbourne", diff --git a/src/app/day/page.tsx b/src/app/day/page.tsx index 7dab3ed7b6..a94e4c77d0 100644 --- a/src/app/day/page.tsx +++ b/src/app/day/page.tsx @@ -14,11 +14,11 @@ import { NavbarPlaceholder } from "./2026/components/navbar" import fostLogo from "./2026/assets/fost-logo.avif" import { GallerySection } from "./gallery-section" -const NUMBER_OF_CITIES_SPELLED_OUT = "four" +const NUMBER_OF_CITIES_SPELLED_OUT = "six" if (process.env.NODE_ENV === "development") { - if (EVENTS.length !== 4) + if (EVENTS.length !== 6) throw new Error( - "EVENTS is expected to be 4, please update the NUMBER_OF_CITIES_SPELLED_OUT variable", + "EVENTS is expected to be 6, please update the NUMBER_OF_CITIES_SPELLED_OUT variable", ) }