import { useState } from "react"; import { apiPostJson } from "../src/api/client"; import { PlatformLanguageProvider } from "../src/i18n/LanguageContext"; import BulkMessageReviewDialog from "../../../govoplan-campaign/webui/src/features/campaigns/review/BulkMessageReviewDialog"; import { generatedTranslations } from "../../../govoplan-campaign/webui/src/i18n/generatedTranslations"; import "../../../govoplan-campaign/webui/src/styles/campaign-workspace.css"; function job(id: string, overrides: Record = {}) { return { id, build_status: "built", validation_status: "needs_review", recipient_email: `${id}@example.test`, subject: `Frozen ${id}`, review_decision: { eligible: true, category_key: "same-attachment-condition", reason_required: true, issue_codes: ["attachment_match_empty"] }, ...overrides }; } export default function CampaignBulkReviewScenario() { const params = new URLSearchParams(window.location.search); const [open, setOpen] = useState(false); const [buildToken, setBuildToken] = useState("build-one"); const rows = [...Array.from({ length: params.has("large") ? 205 : 3 }, (_, index) => job(`job-${String(index).padStart(3, "0")}`)), job("reviewed", { reviewed: true }), job("blocked", { validation_status: "blocked", review_decision: { eligible: false } }), job("expected-exclusion", { validation_status: "excluded", review_decision: { eligible: false } }), job("allowed-zero", { validation_status: "warning", review_decision: { eligible: false } }), job("other-category", { review_decision: { eligible: true, category_key: "other-condition", reason_required: false, issue_codes: ["address_warning"] } })]; return
{open && setOpen(false)} onAccept={async (selection) => { await apiPostJson({ apiBaseUrl: "", apiKey: "", accessToken: "" }, "/api/v1/conformance/review-state", selection); }} />}
; }