import type { Metadata } from 'next'; import BuildingPageClient from '@/components/pages/BuildingPageClient'; import { getBuilding, getMod } from '@/lib/api-server'; import { IBuilding } from '@/src/types/IBuilding'; import { IMod } from '@/src/types/Imod'; export const dynamic = 'force-dynamic'; interface Props { params: { modId: string; raceId: string; buildingId: string }; } export async function generateMetadata({ params }: Props): Promise { const [mod, building] = await Promise.all([getMod(params.modId), getBuilding(params.buildingId)]); if (!mod || !building) { return { title: 'Building' }; } let buildingName = building.name; if (!buildingName) { buildingName = building.filename.replaceAll('_', ' ').replace('.rgd', ''); } const title = `${buildingName} — ${mod.name}`; const description = `${buildingName} building in ${mod.name} mod. Stats, production, researches.`; return { title, description, alternates: { canonical: `/mod/${params.modId}/race/${params.raceId}/building/${params.buildingId}`, }, openGraph: { title, description, }, }; } export default async function BuildingPage({ params }: Props) { const [mod, building] = await Promise.all([ getMod(params.modId), getBuilding(params.buildingId), ]); return ( ); }