Complete recurrence editing and calendar preferences
This commit is contained in:
+28
-2
@@ -2,7 +2,8 @@ import { createElement, lazy } from "react";
|
||||
import type {
|
||||
CalendarPickerUiCapability,
|
||||
DashboardWidgetsUiCapability,
|
||||
PlatformWebModule
|
||||
PlatformWebModule,
|
||||
SettingsSectionsUiCapability
|
||||
} from "@govoplan/core-webui";
|
||||
import "./styles/calendar.css";
|
||||
import { generatedTranslations } from "./i18n/generatedTranslations";
|
||||
@@ -10,6 +11,9 @@ import CalendarPicker from "./features/calendar/CalendarPicker";
|
||||
import UpcomingEventsWidget from "./features/calendar/UpcomingEventsWidget";
|
||||
|
||||
const CalendarPage = lazy(() => import("./features/calendar/CalendarPage"));
|
||||
const CalendarSettingsPanel = lazy(
|
||||
() => import("./features/calendar/CalendarSettingsPanel")
|
||||
);
|
||||
|
||||
const eventRead = ["calendar:event:read"];
|
||||
const translations = {
|
||||
@@ -18,6 +22,20 @@ const translations = {
|
||||
};
|
||||
|
||||
const calendarPicker: CalendarPickerUiCapability = { CalendarPicker };
|
||||
const calendarSettingsSections: SettingsSectionsUiCapability = {
|
||||
sections: [
|
||||
{
|
||||
id: "calendar",
|
||||
surfaceId: "calendar.settings.preferences",
|
||||
label: "Calendar",
|
||||
group: "ui",
|
||||
order: 45,
|
||||
anyOf: eventRead,
|
||||
render: ({ settings, auth }) =>
|
||||
createElement(CalendarSettingsPanel, { settings, auth })
|
||||
}
|
||||
]
|
||||
};
|
||||
const calendarDashboardWidgets: DashboardWidgetsUiCapability = {
|
||||
widgets: [
|
||||
{
|
||||
@@ -87,6 +105,13 @@ export const calendarModule: PlatformWebModule = {
|
||||
kind: "section",
|
||||
label: "Upcoming events widget",
|
||||
order: 40
|
||||
},
|
||||
{
|
||||
id: "calendar.settings.preferences",
|
||||
moduleId: "calendar",
|
||||
kind: "section",
|
||||
label: "Calendar preferences",
|
||||
order: 45
|
||||
}
|
||||
],
|
||||
navItems: [{ to: "/calendar", label: "i18n:govoplan-calendar.calendar.adab5090", iconName: "calendar", anyOf: eventRead, order: 55 }],
|
||||
@@ -94,7 +119,8 @@ export const calendarModule: PlatformWebModule = {
|
||||
{ path: "/calendar", anyOf: eventRead, order: 55, render: ({ settings, auth }) => createElement(CalendarPage, { settings, auth }) }],
|
||||
uiCapabilities: {
|
||||
"calendar.picker": calendarPicker,
|
||||
"dashboard.widgets": calendarDashboardWidgets
|
||||
"dashboard.widgets": calendarDashboardWidgets,
|
||||
"settings.sections": calendarSettingsSections
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user