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;
},