51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import { createElement, lazy } from "react";
|
|
import type { PlatformWebModule } from "@govoplan/core-webui";
|
|
import "./styles/portal.css";
|
|
|
|
|
|
const PortalPage = lazy(() => import("./features/portal/PortalPage"));
|
|
|
|
export const portalModule: PlatformWebModule = {
|
|
id: "portal",
|
|
label: "Services",
|
|
version: "0.1.8",
|
|
optionalDependencies: ["access", "services", "cases", "forms", "workflow_engine"],
|
|
routes: [
|
|
{
|
|
path: "/portal",
|
|
anyOf: ["portal:service:read"],
|
|
order: 25,
|
|
surfaceId: "portal.directory",
|
|
render: (context) => createElement(PortalPage, context)
|
|
}
|
|
],
|
|
navItems: [
|
|
{
|
|
to: "/portal",
|
|
label: "Services",
|
|
iconName: "landmark",
|
|
anyOf: ["portal:service:read"],
|
|
order: 25,
|
|
surfaceId: "portal.navigation"
|
|
}
|
|
],
|
|
viewSurfaces: [
|
|
{
|
|
id: "portal.navigation",
|
|
moduleId: "portal",
|
|
kind: "navigation",
|
|
label: "Services navigation",
|
|
order: 10
|
|
},
|
|
{
|
|
id: "portal.directory",
|
|
moduleId: "portal",
|
|
kind: "route",
|
|
label: "Service directory",
|
|
order: 20
|
|
}
|
|
]
|
|
};
|
|
|
|
export default portalModule;
|