import type { Metadata } from "next"; import Link from "next/link"; import { pageSeo } from "@/content/page-seo"; import { createPageMetadata } from "@/lib/seo"; import { speakers, speakerGroupLabels, speakerGroupOrder, type SpeakerGroup, } from "@/content/people"; import { site } from "@/content/site"; import { PageRiftHeader } from "@/components/layout/PageRiftHeader"; import { Section } from "@/components/layout/Section"; import { SpeakerCard } from "@/components/speakers/SpeakerCard"; import { Button } from "@/components/ui/button"; export const metadata: Metadata = createPageMetadata(pageSeo.speakers); export default function SpeakersPage() { const grouped = speakerGroupOrder.reduce( (acc, group) => { const list = speakers.filter((s) => s.group === group); if (list.length) acc[group] = list; return acc; }, {} as Partial> ); return ( <> Summit speakers & judges } description={

{site.dates.label} ยท {site.venue.name}

} />
{(Object.entries(grouped) as [SpeakerGroup, typeof speakers][]).map( ([group, list]) => (

{speakerGroupLabels[group]}

{site.dates.label}

{list.map((speaker) => ( ))}
) )}
); }