SPB Git

spb/qc26

Public
1.0 KB · 13 lines typescript
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", "/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
Files · f3bb07025804f73080c3fe80ab3c20f6aeea6682
Menu

Theme