SPB Git forge

spb/qc26

Public
10commits 1branches 0releases
2.8 MBsize
maindefault branch
17 days agolast push
Python 51.6% TypeScript 46.7% CSS 1.7%
1.0 KB · 13 lines typescript
Raw Blame History
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