From 38459b74260adcc5ed5cd2d86ed67dfb0829621f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ign=C3=A1cio=20Fontoura=20Solla?= Date: Wed, 29 Jul 2026 22:51:57 -0300 Subject: [PATCH] B52: add Dobradinhas group to staff home search. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Staff can find state deputies by name or party with municipality counts in the global Início search, mirroring the B49/B50 loader and UI pattern. --- .cursor/rules/projects/nucleos-eleitorais.mdc | 3 +- .../busca-global-resultados-dobradinhas.md | 4 +- docs/roadmap.md | 6 +- .../campanha/(app)/home-search/route.ts | 5 +- src/app/(campaign)/campanha/(app)/page.tsx | 2 + .../dashboard/HomeSearchAdvisorGroup.tsx | 8 +- .../dashboard/HomeSearchStateDeputyGroup.tsx | 46 +++++++ src/lib/campaignHomeSearchContract.ts | 3 + src/lib/campaignHomeSearchHits.ts | 20 ++- .../homeSearch/loadHomeSearchSuggestions.ts | 1 + .../homeSearch/searchHomeAdvisors.ts | 1 + .../homeSearch/searchHomeLeaderships.ts | 10 +- .../homeSearch/searchHomeMunicipalities.ts | 2 + .../homeSearch/searchHomeStateDeputies.ts | 116 ++++++++++++++++++ src/utilities/stateDeputyData.ts | 91 ++++++++------ tests/int/homeSearchStateDeputies.int.spec.ts | 84 +++++++++++++ tests/unit/codebaseConventions.unit.spec.ts | 2 +- 17 files changed, 347 insertions(+), 57 deletions(-) create mode 100644 src/components/campaign/dashboard/HomeSearchStateDeputyGroup.tsx create mode 100644 src/utilities/homeSearch/searchHomeStateDeputies.ts create mode 100644 tests/int/homeSearchStateDeputies.int.spec.ts diff --git a/.cursor/rules/projects/nucleos-eleitorais.mdc b/.cursor/rules/projects/nucleos-eleitorais.mdc index 1b09d8bf..555cad8d 100644 --- a/.cursor/rules/projects/nucleos-eleitorais.mdc +++ b/.cursor/rules/projects/nucleos-eleitorais.mdc @@ -7,6 +7,7 @@ alwaysApply: false ## Status +- **B52 entregue em código (2026-07-29):** quarto grupo da busca global do Início — **Dobradinhas** via `searchHomeStateDeputies` + `HomeSearchStateDeputyGroup` (após Assessores); `POST /campanha/home-search` agrega `stateDeputies`; match word-start em nome ou partido; secundário `partido · N municípios`; assessor vê hits (staff read); `municipalityIdsByStateDeputyIds` em `stateDeputyData`. Int `homeSearchStateDeputies.int.spec.ts`. WA = **B55** (sem telefone na entidade). Plano: [`busca-global-resultados-dobradinhas.md`](../../../docs/plans/busca-global-resultados-dobradinhas.md). Próximo na cadeia busca: **B51** atividades. - **B72 entregue em código (2026-07-29):** gap horizontal da strip de ações do Início (UX-1) — `CampaignHomeActionStrip` `