diff --git a/apps/calendar/apps/web/src/lib/components/calendar/CalendarToolbar.svelte b/apps/calendar/apps/web/src/lib/components/calendar/CalendarToolbar.svelte index a997b1683..a583fd6c1 100644 --- a/apps/calendar/apps/web/src/lib/components/calendar/CalendarToolbar.svelte +++ b/apps/calendar/apps/web/src/lib/components/calendar/CalendarToolbar.svelte @@ -1,6 +1,7 @@ + + +
+ {#each enabledViews as view} + + {/each} +
+ + + + diff --git a/apps/calendar/apps/web/src/lib/components/calendar/ViewModePillContextMenu.svelte b/apps/calendar/apps/web/src/lib/components/calendar/ViewModePillContextMenu.svelte new file mode 100644 index 000000000..2068219d8 --- /dev/null +++ b/apps/calendar/apps/web/src/lib/components/calendar/ViewModePillContextMenu.svelte @@ -0,0 +1,104 @@ + + + diff --git a/apps/calendar/apps/web/src/lib/stores/settings.svelte.ts b/apps/calendar/apps/web/src/lib/stores/settings.svelte.ts index 5fb620daf..96860581c 100644 --- a/apps/calendar/apps/web/src/lib/stores/settings.svelte.ts +++ b/apps/calendar/apps/web/src/lib/stores/settings.svelte.ts @@ -34,6 +34,7 @@ export interface CalendarAppSettings { dateStripShowMonthDividers: boolean; // Show vertical dividers between months dateStripCompact: boolean; // Use compact/smaller DateStrip dateStripShowWeekNumbers: boolean; // Show week numbers at start of week + dateStripCollapsed: boolean; // Whether DateStrip is minimized to FAB // Birthday settings (cross-app integration with Contacts) showBirthdays: boolean; // Show contact birthdays in calendar @@ -42,6 +43,9 @@ export interface CalendarAppSettings { // UI settings sidebarCollapsed: boolean; + // Quick View Pill settings + quickViewPillViews: CalendarViewType[]; // Views shown in quick switcher + // Event defaults defaultEventDuration: number; // in minutes defaultReminder: number; // in minutes before event @@ -65,11 +69,15 @@ const DEFAULT_SETTINGS: CalendarAppSettings = { dateStripShowMonthDividers: true, dateStripCompact: false, dateStripShowWeekNumbers: false, + dateStripCollapsed: false, // Birthday defaults showBirthdays: true, showBirthdayAge: true, // UI defaults sidebarCollapsed: false, + // Quick View Pill defaults + quickViewPillViews: ['week', 'month', 'agenda'], + // Event defaults defaultEventDuration: 60, defaultReminder: 15, }; @@ -189,6 +197,9 @@ export const settingsStore = { get dateStripShowWeekNumbers() { return settings.dateStripShowWeekNumbers; }, + get dateStripCollapsed() { + return settings.dateStripCollapsed; + }, // Birthday settings get showBirthdays() { return settings.showBirthdays; @@ -205,6 +216,9 @@ export const settingsStore = { get sidebarCollapsed() { return settings.sidebarCollapsed; }, + get quickViewPillViews() { + return settings.quickViewPillViews; + }, get cloudSyncEnabled() { return cloudSyncEnabled; },