32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import { createElement, lazy } from "react";
|
|
import type { PlatformWebModule } from "@govoplan/core-webui";
|
|
import { generatedTranslations } from "./i18n/generatedTranslations";
|
|
import "./styles/scheduling.css";
|
|
|
|
const SchedulingPage = lazy(() => import("./features/scheduling/SchedulingPage"));
|
|
const SchedulingPublicPage = lazy(() => import("./features/scheduling/SchedulingPublicPage"));
|
|
|
|
const scheduleRead = ["scheduling:schedule:read"];
|
|
|
|
export const schedulingModule: PlatformWebModule = {
|
|
id: "scheduling",
|
|
label: "Scheduling",
|
|
version: "0.1.11",
|
|
dependencies: ["poll"],
|
|
optionalDependencies: ["access", "calendar", "mail", "notifications", "workflow", "appointments", "addresses"],
|
|
translations: generatedTranslations,
|
|
navItems: [{ to: "/scheduling", label: "Scheduling", iconName: "calendar-clock", anyOf: scheduleRead, order: 56 }],
|
|
routes: [
|
|
{ path: "/scheduling", anyOf: scheduleRead, order: 56, render: ({ settings, auth }) => createElement(SchedulingPage, { settings, auth }) }
|
|
],
|
|
publicRoutes: [
|
|
{
|
|
path: "/scheduling/public/:requestId/:token",
|
|
order: 10,
|
|
render: ({ settings, auth }) => createElement(SchedulingPublicPage, { settings, auth })
|
|
}
|
|
]
|
|
};
|
|
|
|
export default schedulingModule;
|