24 lines
1.8 KiB
TypeScript
24 lines
1.8 KiB
TypeScript
import CampaignReportPage from "../../../govoplan-campaign/webui/src/features/campaigns/CampaignReportPage";
|
|
import { useState } from "react";
|
|
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 modules: PlatformWebModule[] = [{ id: "campaigns", label: "Campaign", version: "fixture" }];
|
|
export default function CampaignReportScenario() {
|
|
const params = new URLSearchParams(window.location.search);
|
|
const [account, setAccount] = useState("reporter");
|
|
const read = ["campaigns:campaign:read", "campaigns:recipient:read", "campaigns:report:read"];
|
|
const auth: AuthInfo = { user: { id: account, account_id: `${account}-account`, email: "reporter@example.test" },
|
|
tenant: { id: "tenant", name: "Fixture", slug: "fixture" }, scopes: params.has("read-only") ? read :
|
|
[...read, "campaigns:campaign:send", "campaigns:campaign:retry", "campaigns:campaign:queue", "campaigns:campaign:reconcile"],
|
|
roles: [], groups: [], profile_loaded: true, roles_loaded: true, groups_loaded: true };
|
|
return <PlatformModulesProvider modules={modules}>
|
|
<PlatformLanguageProvider preferredLanguageCode={params.get("language") ?? "en"} moduleTranslations={[generatedTranslations]}>
|
|
{params.has("switch-account") && <button type="button" onClick={() => setAccount("another-reporter")}>Switch fixture account</button>}
|
|
<CampaignReportPage settings={{ apiBaseUrl: "", apiKey: "", accessToken: "" }} auth={auth} campaignId="report-campaign" />
|
|
</PlatformLanguageProvider>
|
|
</PlatformModulesProvider>;
|
|
}
|