50 lines
3.6 KiB
TypeScript
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>;
|
|
}
|