import { createElement, lazy } from "react"; import type { PlatformWebModule } from "@govoplan/core-webui"; import { generatedTranslations } from "./i18n/generatedTranslations"; import "./styles/cases.css"; const CasesPage = lazy(() => import("./features/cases/CasesPage")); const CaseDetailPage = lazy(() => import("./features/cases/CaseDetailPage")); export const casesModule: PlatformWebModule = { id: "cases", label: "i18n:govoplan-cases.cases", version: "0.1.8", optionalDependencies: [ "access", "addresses", "services", "parties", "mandates", "decisions", "forms_runtime", "workflow_engine" ], translations: generatedTranslations, routes: [ { path: "/cases", anyOf: ["cases:case:read"], order: 35, surfaceId: "cases.list", render: (context) => createElement(CasesPage, context) }, { path: "/cases/:caseId", anyOf: ["cases:case:read"], order: 36, surfaceId: "cases.detail", render: (context) => createElement(CaseDetailPage, context) } ], navItems: [ { to: "/cases", label: "i18n:govoplan-cases.cases", iconName: "briefcase-business", anyOf: ["cases:case:read"], order: 35, surfaceId: "cases.navigation" } ], viewSurfaces: [ { id: "cases.navigation", moduleId: "cases", kind: "navigation", label: "i18n:govoplan-cases.navigation", order: 10 }, { id: "cases.list", moduleId: "cases", kind: "route", label: "i18n:govoplan-cases.list", order: 20 }, { id: "cases.list.filters", moduleId: "cases", kind: "section", label: "i18n:govoplan-cases.filters", parentId: "cases.list", order: 10 }, { id: "cases.detail", moduleId: "cases", kind: "route", label: "i18n:govoplan-cases.detail", order: 30 }, { id: "cases.detail.summary", moduleId: "cases", kind: "section", label: "i18n:govoplan-cases.summary", parentId: "cases.detail", order: 10 }, { id: "cases.detail.editor", moduleId: "cases", kind: "section", label: "i18n:govoplan-cases.editor", parentId: "cases.detail", order: 20 }, { id: "cases.detail.references", moduleId: "cases", kind: "section", label: "i18n:govoplan-cases.references", parentId: "cases.detail", order: 30 }, { id: "cases.detail.timeline", moduleId: "cases", kind: "section", label: "i18n:govoplan-cases.timeline", parentId: "cases.detail", order: 40 }, { id: "cases.detail.history", moduleId: "cases", kind: "section", label: "i18n:govoplan-cases.history", parentId: "cases.detail", order: 50 }, { id: "cases.detail.access", moduleId: "cases", kind: "action", label: "i18n:govoplan-cases.access", parentId: "cases.detail", order: 60 } ] }; export default casesModule;