25 lines
1.8 KiB
TypeScript
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>;
|
|
}
|