mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 06:43:06 +00:00
Phase 1 UX: StrictCombobox municipality in SupporterForm, AlertDialog in RemoveSupporterDataButton. Phase 2 DRY: campaignListUrl + CampaignListPagination + campaignFormFields + mapCampaignFormActionError shared across nuclei, supporters and action plans. Phase 3: single SQL aggregate for supporter list KPIs via drizzle in the Payload txn. Phase 4: bulk drizzle insert for CSV import inside the existing Payload txn with ON CONFLICT DO NOTHING, plus a fail-closed skipContactPhoneInvariant context flag. Phase 5: HMAC-signed single-use import token backed by a new supporterImportBatch staging collection so the full ok-row set never crosses the Server Action boundary twice. |
||
|---|---|---|
| .. | ||
| campaignActionContext.unit.spec.ts | ||
| campaignAuthMemoization.unit.spec.ts | ||
| campaignComponents.unit.spec.ts | ||
| campaignCompositionCleanup.unit.spec.ts | ||
| campaignConsent.unit.spec.ts | ||
| campaignCoordinatorAssignmentUi.unit.spec.ts | ||
| campaignDashboardPageData.unit.spec.ts | ||
| campaignInviteArchitecture.unit.spec.ts | ||
| campaignInviteInteractions.unit.spec.ts | ||
| campaignInviteOrigin.unit.spec.ts | ||
| campaignLazyDialogsUi.unit.spec.ts | ||
| campaignLeadershipUi.unit.spec.ts | ||
| campaignLoginAction.unit.spec.ts | ||
| campaignMigrationSafety.unit.spec.ts | ||
| campaignNucleusDetailTabs.unit.spec.ts | ||
| campaignNucleusFilters.unit.spec.ts | ||
| campaignNucleusIntelligenceUi.unit.spec.ts | ||
| campaignNucleusListOverview.unit.spec.ts | ||
| campaignNucleusPage.unit.spec.ts | ||
| campaignNucleusShare.unit.spec.ts | ||
| campaignNucleusSummaryLayout.unit.spec.ts | ||
| campaignNucleusUi.unit.spec.ts | ||
| campaignPwa.unit.spec.ts | ||
| campaignSearchInput.unit.spec.ts | ||
| contactCityMigration.unit.spec.ts | ||
| electionResults.unit.spec.ts | ||
| supporterSchema.unit.spec.ts | ||
| territorySuggestions.unit.spec.ts | ||