import { Megaphone, X } from "lucide-react"; import { useCallback } from "react"; import { Button, DashboardWidgetList, DismissibleAlert, LoadingFrame, useDashboardWidgetData, type QuickAccessToolRenderContext } from "@govoplan/core-webui"; import { listCampaigns } from "../../api/campaigns"; type Props = Pick< QuickAccessToolRenderContext, "settings" | "launchContext" | "complete" | "cancel" >; export default function CampaignQuickAccess({ settings, launchContext, complete, cancel }: Props) { const load = useCallback( async () => (await listCampaigns(settings)) .filter((campaign) => Boolean(campaign.current_version_id)) .slice(0, 12), [settings] ); const { data, loading, error } = useDashboardWidgetData(load, 0); return (

Select an exact Campaign version for {launchContext.activeObject?.label}. Campaign content remains in Campaigns and access is checked again when opened.

{error ? ( {error} ) : null} ({ id: campaign.id, title: campaign.name, detail: campaign.description || campaign.status, meta: campaign.status, leading:
); }