Files
govoplan-core/webui/conformance/CampaignReviewScenario.tsx

25 lines
1.8 KiB
TypeScript

import ReviewSendPage from "../../../govoplan-campaign/webui/src/features/campaigns/ReviewSendPage";
import { useSearchParams } from "react-router";
import { generatedTranslations } from "../../../govoplan-campaign/webui/src/i18n/generatedTranslations";
import { PlatformLanguageProvider } from "../src/i18n/LanguageContext";
import { PlatformModulesProvider } from "../src/platform/ModuleContext";
import type { AuthInfo, PlatformWebModule } from "../src/types";
import "../../../govoplan-campaign/webui/src/styles/campaign-workspace.css";
const auth: AuthInfo = { user: { id: "reviewer", account_id: "reviewer-account", email: "reviewer@example.test" },
tenant: { id: "tenant", name: "Fixture", slug: "fixture" }, scopes: ["campaigns:campaign:read", "campaigns:campaign:review", "campaigns:campaign:build"],
roles: [], groups: [], profile_loaded: true, roles_loaded: true, groups_loaded: true };
const modules: PlatformWebModule[] = [{ id: "campaigns", label: "Campaign", version: "fixture" }];
export default function CampaignReviewScenario() {
const params = new URLSearchParams(window.location.search);
const [, setSearchParams] = useSearchParams();
const fixtureAuth = params.has("read-only") ? { ...auth, scopes: ["campaigns:campaign:read"] } : auth;
return <PlatformModulesProvider modules={modules}>
<PlatformLanguageProvider preferredLanguageCode={params.get("language") ?? "en"} moduleTranslations={[generatedTranslations]}>
{params.has("race") && <button onClick={() => setSearchParams((current) => {
const next = new URLSearchParams(current); next.set("version", "replacement-version"); return next;
})}>Switch fixture version</button>}
<ReviewSendPage settings={{ apiBaseUrl: "", apiKey: "", accessToken: "" }} auth={fixtureAuth} campaignId="review-campaign" />
</PlatformLanguageProvider>
</PlatformModulesProvider>;
}