From c05b04236e5e76529c68f8b66dc70a303740b112 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 1 Aug 2026 04:23:39 +0000 Subject: [PATCH 1/5] =?UTF-8?q?B85=20=E2=80=94=20A=C3=A7=C3=B5es=20r=C3=A1?= =?UTF-8?q?pidas=20no=20drawer=20de=20Demandas=20(lista=20+=20detalhe)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Registra catálogo contextual no chassis B79: - Lista: um launcher register-demand → /demandas/nova (wizard A5 ainda stub) - Detalhe: A1–A5 com prefill de município via context sync - Expõe municipalityId no view model para prefill do form de criação Co-authored-by: Francisco Solla --- .../campanha/(app)/demandas/[slug]/page.tsx | 6 ++ .../shell/CampaignQuickActionContextSync.tsx | 43 ++++++++ src/lib/campaignPaths.ts | 2 + src/lib/campaignQuickActionContext.ts | 1 + src/lib/campaignQuickActionDemands.ts | 99 +++++++++++++++++++ src/lib/campaignQuickActionRegistry.ts | 17 +++- src/utilities/campaignDemandData.ts | 3 + tests/unit/campaignQuickAction.unit.spec.ts | 64 ++++++++++++ 8 files changed, 233 insertions(+), 2 deletions(-) create mode 100644 src/components/campaign/shell/CampaignQuickActionContextSync.tsx create mode 100644 src/lib/campaignQuickActionDemands.ts diff --git a/src/app/(campaign)/campanha/(app)/demandas/[slug]/page.tsx b/src/app/(campaign)/campanha/(app)/demandas/[slug]/page.tsx index 8233bc98..fc868321 100644 --- a/src/app/(campaign)/campanha/(app)/demandas/[slug]/page.tsx +++ b/src/app/(campaign)/campanha/(app)/demandas/[slug]/page.tsx @@ -5,6 +5,7 @@ import { notFound } from 'next/navigation' import { getPayload } from 'payload' import { DemandWorkflowCard } from '@/components/campaign/demand/DemandWorkflowCard' +import { CampaignQuickActionContextSync } from '@/components/campaign/shell/CampaignQuickActionContextSync' import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell' import { Badge } from '@/components/ui/Badge' import { Button } from '@/components/ui/button' @@ -59,6 +60,11 @@ export default async function DemandDetailPage({ params }: DemandDetailPageProps return ( + 0 ? demand.municipalityId : undefined} + demandSlug={demand.slug} + />