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.5 KB · 24 lines tsx
Raw Blame History
1import type { Metadata } from "next";2import { apiSafe, type RidingListItem } from "@/lib/api";3import { RidingsGrid } from "@/components/ridings-grid";4import { Empty } from "@/components/ui";56export const metadata: Metadata = { title: "Circonscriptions — 127 fiches, probabilités de victoire", description: "Les 127 circonscriptions du Québec : favori, probabilité de victoire par parti, sortant·e, région, avec recherche instantanée." };7export const revalidate = 60;89export default async function Page({ searchParams }: { searchParams: Promise<{ tri?: string }> }) {10  const sp = await searchParams;11  const data = await apiSafe<{ ridings: RidingListItem[]; regions: { id: string; name: string }[] }>("/api/ridings");12  if (!data) return <Empty title="Circonscriptions indisponibles" />;13  return (14    <div className="space-y-6">15      <div>16        <div className="eyebrow">Circonscriptions · {data.ridings.length}</div>17        <h1 className="display text-[40px] md:text-[56px] mt-3">127 circonscriptions</h1>18        <p className="text-ink-2 mt-3 max-w-2xl text-[15px] leading-relaxed">Les pourcentages sont des <b>probabilités de victoire</b> issues des simulations, pas des intentions de vote. Nouvelle carte 2026 : Bellefeuille et Marie-Lacoste-Gérin-Lajoie s&apos;ajoutent, 39 circonscriptions sont modifiées.</p>19      </div>20      <RidingsGrid ridings={data.ridings} regions={data.regions} initialSort={sp.tri === "serre" ? "serre" : "nom"} />21    </div>22  );23}24