import type { MetadataRoute } from "next"; import { apiSafe, SITE_URL, type RidingListItem } from "@/lib/api"; import { PARTIES } from "@/lib/parties"; export default async function sitemap(): Promise { const now = new Date(); const statics = ["", "/prevision", "/signaux", "/sondages", "/carte", "/circonscriptions", "/boussole", "/partis", "/partis/comparateur", "/enjeux", "/documents", "/methodologie", "/methodologie/changelog", "/live", "/statut"].map((p) => ({ url: `${SITE_URL}${p}`, lastModified: now, changeFrequency: "hourly" as const, priority: p === "" ? 1 : 0.7 })); const ridings = await apiSafe<{ ridings: RidingListItem[] }>("/api/ridings", { revalidate: 3600 }); const r = (ridings?.ridings ?? []).map((x) => ({ url: `${SITE_URL}/circonscription/${x.slug}`, lastModified: now, changeFrequency: "daily" as const, priority: 0.6 })); const p = PARTIES.map((x) => ({ url: `${SITE_URL}/partis/${x.id}`, lastModified: now, changeFrequency: "daily" as const, priority: 0.6 })); return [...statics, ...p, ...r]; }