import type { Metadata } from 'next'; import RacePageClient from '@/components/pages/RacePageClient'; import { getMod, getRace, getRaceUnits, getRaceBuildings } from '@/lib/api-server'; export const dynamic = 'force-dynamic'; interface Props { params: { modId: string; raceId: string }; } export async function generateMetadata({ params }: Props): Promise { const [mod, race] = await Promise.all([getMod(params.modId), getRace(params.raceId)]); if (!mod || !race) { return { title: 'Race' }; } const title = `${race.name} — ${mod.name}`; const description = `${race.name} race in ${mod.name} mod. Units, buildings and stats.`; return { title, description, alternates: { canonical: `/mod/${params.modId}/race/${params.raceId}`, }, openGraph: { title, description, }, }; } export default async function RacePage({ params }: Props) { const [mod, race, raceUnits, raceBuildings] = await Promise.all([ getMod(params.modId), getRace(params.raceId), getRaceUnits(params.modId, params.raceId), getRaceBuildings(params.modId, params.raceId), ]); return ( ); }