Python 51.6%
TypeScript 46.7%
CSS 1.7%
1import type { MetadataRoute } from "next";2import { apiSafe, SITE_URL, type RidingListItem } from "@/lib/api";3import { PARTIES } from "@/lib/parties";45export default async function sitemap(): Promise<MetadataRoute.Sitemap> {6 const now = new Date();7 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 }));8 const ridings = await apiSafe<{ ridings: RidingListItem[] }>("/api/ridings", { revalidate: 3600 });9 const r = (ridings?.ridings ?? []).map((x) => ({ url: `${SITE_URL}/circonscription/${x.slug}`, lastModified: now, changeFrequency: "daily" as const, priority: 0.6 }));10 const p = PARTIES.map((x) => ({ url: `${SITE_URL}/partis/${x.id}`, lastModified: now, changeFrequency: "daily" as const, priority: 0.6 }));11 return [...statics, ...p, ...r];12}13