diff --git a/webui/src/features/calendar/CalendarPage.tsx b/webui/src/features/calendar/CalendarPage.tsx index 81dd32a..fe0b0bb 100644 --- a/webui/src/features/calendar/CalendarPage.tsx +++ b/webui/src/features/calendar/CalendarPage.tsx @@ -11,6 +11,7 @@ import { "react"; import { CalendarDays, ChevronLeft, ChevronRight, Pencil, Plus, RefreshCw, Trash2 } from "lucide-react"; import { + AdminIconButton, Button, ColorPickerField, DateField, @@ -19,6 +20,7 @@ import { LoadingFrame, PasswordField, SegmentedControl, + TableActionGroup, TimeField, ToggleSwitch, hasScope, @@ -684,31 +686,24 @@ export default function CalendarPage({ settings, auth }: {settings: ApiSettings; -
- {source && canSyncCalendars && - - } - {(canManageCalendars || canDeleteCalendars) && - - } -
+ , + onClick: () => void handleSyncSource(source), + disabled: saving || syncing + }, + (canManageCalendars || canDeleteCalendars) && { + id: "edit", + label: i18nMessage("i18n:govoplan-calendar.edit_value.fad75899", { value0: calendar.name }), + icon: , + onClick: () => openCalendarEditor(calendar) + } + ]} + /> ); })} @@ -764,13 +759,19 @@ export default function CalendarPage({ settings, auth }: {settings: ApiSettings;
- + } + onClick={() => moveFocus(-1)} + disabled={mode === "continuous"} + /> - + } + onClick={() => moveFocus(1)} + disabled={mode === "continuous"} + />
- + } + onClick={() => void loadEvents()} + /> {canWrite &&