import type { ApiSettings } from "../../types"; import { Card } from "@govoplan/core-webui"; import { Button } from "@govoplan/core-webui"; import { DismissibleAlert } from "@govoplan/core-webui"; import { PageTitle } from "@govoplan/core-webui"; import VersionLine from "./components/VersionLine"; import { LoadingFrame } from "@govoplan/core-webui"; import { useCampaignWorkspaceData } from "./hooks/useCampaignWorkspaceData"; import { asRecord, getCampaignJson } from "./utils/campaignView"; import { downloadJson, safeFileStem } from "./utils/draftEditor"; export default function CampaignJsonView({ settings, campaignId }: {settings: ApiSettings;campaignId: string;}) { const { data, loading, error, reload } = useCampaignWorkspaceData(settings, campaignId); const version = data.currentVersion; const campaignJson = getCampaignJson(version); const campaign = asRecord(campaignJson.campaign); const filename = `${safeFileStem(String(campaign.id || data.campaign?.external_id || campaignId))}.json`; return (
{JSON.stringify(campaignJson, null, 2)} : {"{}"}}