mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 15:13:07 +00:00
- committed artifact src/lib/electionAggregates/bahia-federal-baseline.json (Solla nominal + federal T1 valid votes per catalog municipality × TSE year, Salvador split by zone) generated by pnpm build:election-aggregates from the locally seeded TSE data; typed loader src/lib/bahiaElectionAggregates.ts; snapshot spec pins artifact ↔ catalog ↔ baseline ticket - map bundle: historical years now read the artifact (was 6 statewide city×zone scans per dashboard visit); compare mode keeps only the OTHER candidate on the DB path (Solla side from the artifact) - loadMunicipalityScope (React cache()): one municipality find + pledge aggregate per request shared by dashboard KPIs, map bundle, and the municípios list overview (was 2-3 duplicate loads) - unstable_cache + election-tse tag on the immutable elections-tab loaders (baseline, candidate comparison, candidate options); tag added to the /api/revalidate allowlist — runbook: re-seed then bust the tag - municipalityMapContract.ts: client-safe map vocabulary/bundle types so the client panel no longer imports the server data module (build had pulled @payload-config into the client graph); municipalityMapData is server-only and re-exports the contract; PLAZA_MAP_* renamed to MUNICIPALITY_MAP_* - petition generateStaticParams enumerates bare ids (getPetitionIds)
27 lines
794 B
TypeScript
27 lines
794 B
TypeScript
'use client'
|
|
|
|
import dynamic from 'next/dynamic'
|
|
|
|
import type { FederalCandidateOption } from '@/utilities/electionCandidateOptions'
|
|
import type { MunicipalityMapBundle } from '@/utilities/municipalityMapContract'
|
|
|
|
const MunicipalityMapPanelLazy = dynamic(
|
|
() => import('@/components/campaign/MunicipalityMapPanel').then((module) => module.MunicipalityMapPanel),
|
|
{
|
|
ssr: false,
|
|
loading: () => (
|
|
<div
|
|
aria-hidden="true"
|
|
className="h-[420px] w-full animate-pulse rounded-xl border bg-muted/40"
|
|
/>
|
|
),
|
|
},
|
|
)
|
|
|
|
export const MunicipalityMapPanelDynamic = ({
|
|
bundle,
|
|
candidateOptions,
|
|
}: {
|
|
bundle: MunicipalityMapBundle
|
|
candidateOptions: FederalCandidateOption[]
|
|
}) => <MunicipalityMapPanelLazy bundle={bundle} candidateOptions={candidateOptions} />
|