teqo-backup/src/components/campaign/shared
Francisco Ignácio Fontoura Solla a7bc05f3a1 Adopt B42's cell-edit overlay in B34 and fix the optimistic baseline again.
The Drawer half of MunicipalityPortfolioCell now goes through
CampaignCellEditOverlay: the container switches on a `variant` prop, not on
viewport, so the pointer policy stays in CSS while the cell inherits
`initialFocus` (the hand-rolled sheet focused the first chip, a link out of the
row being edited) and the ARIA trigger attributes every other cell has.

The optimistic baseline bug was back in a shape that reads as correct. Applying
the delta functionally is not enough when the fallback is not: `current ??
municipalityIds` still read the render that created the closure, which is the
branch an undo always takes, since the server reconcile clears the optimistic
value first. Undo after a later add rebuilt the row from a set that predated it,
permanently. The baseline is a ref now, advanced synchronously in the draft
branch, and pinned by a spec verified red against the old code.

Also: revert the Drawer body gate (its saving measured as zero, and it animated
an empty box out of view), collapse the word-start matcher to two string tests
now that both sides are normalized, copy the memoized território ids before
handing them to a caller, and revalidate every changed município of an advisor
batch instead of only the last.
2026-07-27 23:59:20 -03:00
..
AsyncSearchCombobox.tsx Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
CampaignCellEditOverlay.tsx B42: Drawer quick-edit and a tappable card on the mobile municipalities list. 2026-07-27 20:49:41 -03:00
CampaignCellTooltip.tsx E10 /simplify: remove superficie morta, unifica o parser de enum repetivel e reusa o ranking A11 2026-07-25 22:33:16 -03:00
CampaignCopyableCell.tsx Fix /campanha/liderancas 500: RSC-safe phone display 2026-07-26 20:16:01 -03:00
CampaignFilterChips.tsx B33+: shared list filter navigation hook 2026-07-27 09:05:08 -03:00
CampaignHeaderFilterPopover.tsx B21: cria página própria dos territórios 2026-07-25 21:50:24 -03:00
CampaignHoverTooltip.tsx B34: editable município chips on the leaderships list. 2026-07-27 22:35:19 -03:00
CampaignInfoHint.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00
CampaignListEmptyState.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00
CampaignListFooter.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00
CampaignListPagination.tsx Pass 2 W4b: zero exports mortos; knip exports/types/enumMembers em ERROR no CI 2026-07-25 15:51:52 -03:00
CampaignListPending.tsx B33+: shared list filter navigation hook 2026-07-27 09:05:08 -03:00
CampaignMetricStrip.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00
CampaignMobileMultiFilterField.tsx B21: cria página própria dos territórios 2026-07-25 21:50:24 -03:00
CampaignScopeBadge.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00
CampaignSearchForm.tsx B33+: shared list filter navigation hook 2026-07-27 09:05:08 -03:00
CampaignSearchInput.tsx Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
CampaignSortableHead.tsx B21: cria página própria dos territórios 2026-07-25 21:50:24 -03:00
CampaignTable.tsx B34: editable município chips on the leaderships list. 2026-07-27 22:35:19 -03:00
CampaignUserAvatar.tsx Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
ConsentText.tsx Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
ContactCombobox.tsx Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
LeadershipStateDeputyRelationCell.tsx B36: chips de lideranças na lista de dobradinhas 2026-07-26 21:15:44 -03:00
MunicipalityPortfolioCell.tsx Adopt B42's cell-edit overlay in B34 and fix the optimistic baseline again. 2026-07-27 23:59:20 -03:00
RelationMultiSelect.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00
StrictCombobox.tsx Tooling: prettier como autoridade de formatacao (organize-imports deterministico, scripts format/format:check, normalizacao mecanica de 312 arquivos; artefatos gerados e migrations excluidos via .prettierignore) 2026-07-25 17:22:20 -03:00
useCampaignListFilterNavigation.ts B33+: close the /simplify rounds on the shared list filter hook 2026-07-27 09:39:15 -03:00