teqo-backup/src/components/campaign/shell/CampaignQuickActionContextSync.tsx
Cursor Agent c05b04236e
B85 — Ações rápidas no drawer de Demandas (lista + detalhe)
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 <fsolla@users.noreply.github.com>
2026-08-01 05:26:12 +00:00

43 lines
986 B
TypeScript

'use client'
import { useEffect } from 'react'
import { useCampaignQuickActionContext } from '@/components/campaign/shell/CampaignQuickActionContext'
import {
emptyCampaignQuickActionContext,
type CampaignQuickActionContext,
} from '@/lib/campaignQuickActionContext'
/** RSC pages push route context into the B79 drawer host (B80+). */
export const CampaignQuickActionContextSync = ({
municipalitySlug,
municipalityId,
leadershipId,
organizationSlug,
activitySlug,
demandSlug,
}: CampaignQuickActionContext) => {
const { setContext } = useCampaignQuickActionContext()
useEffect(() => {
setContext({
municipalitySlug,
municipalityId,
leadershipId,
organizationSlug,
activitySlug,
demandSlug,
})
return () => setContext(emptyCampaignQuickActionContext())
}, [
setContext,
municipalitySlug,
municipalityId,
leadershipId,
organizationSlug,
activitySlug,
demandSlug,
])
return null
}