Files

50 lines
3.6 KiB
TypeScript

import CommitteePage from "../../../govoplan-committee/webui/src/features/committee/CommitteePage";
import VotingPage from "../../../govoplan-voting/webui/src/features/voting/VotingPage";
import SchedulingPage from "../../../govoplan-scheduling/webui/src/features/scheduling/SchedulingPage";
import RiskCompliancePage from "../../../govoplan-risk-compliance/webui/src/features/riskCompliance/RiskCompliancePage";
import OrganizationsPage from "../../../govoplan-organizations/webui/src/features/organizations/OrganizationsPage";
import TypedRelationshipsPanel from "../../../govoplan-idm/webui/src/features/TypedRelationshipsPanel";
import { generatedTranslations as committeeTranslations } from "../../../govoplan-committee/webui/src/i18n/generatedTranslations";
import { generatedTranslations as votingTranslations } from "../../../govoplan-voting/webui/src/i18n/generatedTranslations";
import { generatedTranslations as schedulingTranslations } from "../../../govoplan-scheduling/webui/src/i18n/generatedTranslations";
import { generatedTranslations as riskTranslations } from "../../../govoplan-risk-compliance/webui/src/i18n/generatedTranslations";
import { generatedTranslations as organizationTranslations } from "../../../govoplan-organizations/webui/src/i18n/generatedTranslations";
import { generatedTranslations as idmTranslations } from "../../../govoplan-idm/webui/src/i18n/generatedTranslations";
import { PlatformLanguageProvider } from "../src/i18n/LanguageContext";
import type { AuthInfo } from "../src/types";
import "../../../govoplan-committee/webui/src/styles/committee.css";
import "../../../govoplan-voting/webui/src/styles/voting.css";
import "../../../govoplan-scheduling/webui/src/styles/scheduling.css";
import "../../../govoplan-risk-compliance/webui/src/styles/risk-compliance.css";
import "../../../govoplan-organizations/webui/src/styles/organizations.css";
import "../../../govoplan-idm/webui/src/styles/idm.css";
const settings = { apiBaseUrl: "", apiKey: "", accessToken: "" };
export default function ModuleLayoutScenario() {
const params = new URLSearchParams(window.location.search);
const auth: AuthInfo = {
user: { id: "layout-user", account_id: "layout-account", email: "layout@example.test" },
tenant: { id: "layout-tenant", name: "Layout fixture", slug: "layout" },
scopes: params.has("read-only") ? ["idm:relationship:read"] : [
"committee:workspace:write", "voting:ballot:manage", "scheduling:schedule:write",
"risk_compliance:sanctions:review", "risk_compliance:sanctions:screen", "risk_compliance:workspace:read",
"organizations:model:read", "organizations:model:write", "organizations:unit:write", "organizations:function:write",
"idm:relationship:read", "idm:relationship:write"
],
roles: [], groups: [], profile_loaded: true, roles_loaded: true, groups_loaded: true
};
const context = { settings, auth };
const module = params.get("module-layouts");
return <PlatformLanguageProvider preferredLanguageCode={params.get("language") ?? "en"} moduleTranslations={[committeeTranslations, votingTranslations, schedulingTranslations, riskTranslations, organizationTranslations, idmTranslations]}>
<div data-testid="module-layout-fixture" style={{ height: "100vh", minWidth: 0 }}>
{module === "committee" && <CommitteePage {...context} />}
{module === "voting" && <VotingPage {...context} />}
{module === "scheduling" && <SchedulingPage {...context} />}
{module === "risk" && <RiskCompliancePage {...context} />}
{module === "organizations" && <OrganizationsPage {...context} />}
{module === "idm" && <TypedRelationshipsPanel {...context} />}
</div>
</PlatformLanguageProvider>;
}