diff --git a/components/layout/sidebar-apps-modal.tsx b/components/layout/sidebar-apps-modal.tsx index f451e4b6..3273a29e 100644 --- a/components/layout/sidebar-apps-modal.tsx +++ b/components/layout/sidebar-apps-modal.tsx @@ -18,6 +18,7 @@ interface SidebarAppFormData { url: string; icon: string; openMode: 'tab' | 'inline'; + showOnMobile: boolean; } function SidebarAppForm({ @@ -37,6 +38,7 @@ function SidebarAppForm({ url: app?.url || '', icon: app?.icon || 'Globe', openMode: app?.openMode || 'tab', + showOnMobile: app?.showOnMobile ?? false, }); const [errors, setErrors] = useState>({}); diff --git a/stores/settings-store.ts b/stores/settings-store.ts index ff8eca7c..ab4092a9 100644 --- a/stores/settings-store.ts +++ b/stores/settings-store.ts @@ -45,6 +45,7 @@ export interface SidebarApp { url: string; icon: string; // Lucide icon name (e.g. 'Globe', 'Rss') openMode: 'tab' | 'inline'; // Open in new tab or embed inline + showOnMobile: boolean; } // Available color palette for keywords @@ -106,6 +107,9 @@ interface SettingsState { sessionTimeout: number; // minutes (0 = never) trustedSenders: string[]; // Email addresses that can load external content + // Calendar + showTimeInMonthView: boolean; + // Calendar Notifications calendarNotificationsEnabled: boolean; calendarNotificationSound: boolean; @@ -201,6 +205,9 @@ const DEFAULT_SETTINGS = { sessionTimeout: 0, // Never trustedSenders: [] as string[], + // Calendar + showTimeInMonthView: false, + // Calendar Notifications calendarNotificationsEnabled: true, calendarNotificationSound: true, @@ -284,6 +291,7 @@ export const useSettingsStore = create()( calendarNotificationsEnabled: state.calendarNotificationsEnabled, calendarNotificationSound: state.calendarNotificationSound, calendarInvitationParsingEnabled: state.calendarInvitationParsingEnabled, + showTimeInMonthView: state.showTimeInMonthView, toolbarPosition: state.toolbarPosition, senderFavicons: state.senderFavicons, folderIcons: state.folderIcons,