34 lines
1.4 KiB
TypeScript
34 lines
1.4 KiB
TypeScript
import { createElement, lazy } from "react";
|
|
import type { MailDevMailboxUiCapability, MailProfilesUiCapability, PlatformWebModule } from "@govoplan/core-webui";
|
|
import { MailProfilePolicyEditor, MailProfileScopeManager } from "./features/mail/MailProfileManagement";
|
|
import { validateMailPolicy } from "./features/mail/mailPolicyValidation";
|
|
import { generatedTranslations } from "./i18n/generatedTranslations";
|
|
import "./styles/mail-profiles.css";
|
|
|
|
const MailboxPage = lazy(() => import("./features/mail/MailboxPage"));
|
|
const mailboxRead = ["mail:mailbox:read"];
|
|
const translations = {
|
|
en: generatedTranslations.en,
|
|
de: generatedTranslations.de
|
|
};
|
|
|
|
export const mailModule: PlatformWebModule = {
|
|
id: "mail",
|
|
label: "i18n:govoplan-mail.mail.92379cbb",
|
|
version: "1.0.0",
|
|
dependencies: ["access"],
|
|
translations,
|
|
navItems: [{ to: "/mail", label: "i18n:govoplan-mail.mail.92379cbb", iconName: "mail", anyOf: mailboxRead, order: 50 }],
|
|
routes: [
|
|
{ path: "/mail", anyOf: mailboxRead, order: 50, render: ({ settings }) => createElement(MailboxPage, { settings }) }],
|
|
|
|
uiCapabilities: {
|
|
"mail.profiles": { MailProfileScopeManager, MailProfilePolicyEditor, validateMailPolicy } satisfies MailProfilesUiCapability
|
|
},
|
|
runtimeUiCapabilities: {
|
|
"mail.devMailbox": { enabled: true, label: "i18n:govoplan-mail.development_mock_mailbox.1a379865" } satisfies MailDevMailboxUiCapability
|
|
}
|
|
};
|
|
|
|
export default mailModule;
|