teqo/src
Francisco Ignácio Fontoura Solla 590d311364 Scope client state to where it is used
- MunicipalityMapSelection leaf owns hover/selection: a mouseover re-renders
  only the map + readout, not the whole panel (controls, legend, zone list);
  Leaflet paint stays ref-based (B6)
- municípios list: MunicipalityEstimateScenarioProvider now wraps only the
  results — scenario switches no longer re-render the filter controls
  (dashboard already scoped it to the map)
- LeaderContactsPanel is a server component again: header + contacts table
  render on the server; only LeaderContactForm (new client file) hydrates
- ledgered with rationale: map-bundle slimming deferred (gzip crushes the
  repeating keys; instant year/scenario switching is a core analysis flow);
  props-to-state effect mirrors reviewed and accepted as the correct
  server-echo reconciliation pattern
2026-07-23 23:26:28 -03:00
..
app Scope client state to where it is used 2026-07-23 23:26:28 -03:00
collections Lock down CMS/PII collection access and leader routes 2026-07-23 22:25:18 -03:00
components Scope client state to where it is used 2026-07-23 23:26:28 -03:00
globals Deliver Onda 0 MVP: provisional Consent, privacy policy, and /privacidade. 2026-07-19 03:38:21 -03:00
hooks Add campaign app shell with a light shadcn sidebar. 2026-07-15 23:17:51 -03:00
lib Cache the campaign hot path: committed TSE artifact + request-scoped dedup 2026-07-23 23:06:28 -03:00
migrations Remodel the campaign vertical from Praça to Município 2026-07-23 21:36:20 -03:00
utilities Cache the campaign hot path: committed TSE artifact + request-scoped dedup 2026-07-23 23:06:28 -03:00
css-modules.d.ts Adopt TypeScript 6 for tooling and TypeScript 7 for typecheck. 2026-07-21 20:32:15 -03:00
payload-types.ts Remodel the campaign vertical from Praça to Município 2026-07-23 21:36:20 -03:00
payload.config.ts Remodel the campaign vertical from Praça to Município 2026-07-23 21:36:20 -03:00