diff --git a/frontend/src/components/tasks/partials/Comments.vue b/frontend/src/components/tasks/partials/Comments.vue index 336092f34..4d6aebcfb 100644 --- a/frontend/src/components/tasks/partials/Comments.vue +++ b/frontend/src/components/tasks/partials/Comments.vue @@ -378,6 +378,7 @@ async function toggleSortOrder() { frontendSettings: { ...authStore.settings.frontendSettings, commentSortOrder: newOrder, + quickAddDefaultReminders: [...(authStore.settings.frontendSettings.quickAddDefaultReminders ?? [])], }, }, showMessage: false, diff --git a/frontend/src/composables/useSidebarResize.ts b/frontend/src/composables/useSidebarResize.ts index 39e3b19fe..908e3b26b 100644 --- a/frontend/src/composables/useSidebarResize.ts +++ b/frontend/src/composables/useSidebarResize.ts @@ -134,6 +134,7 @@ export function useSidebarResize() { frontendSettings: { ...authStore.settings.frontendSettings, sidebarWidth: currentWidth.value, + quickAddDefaultReminders: [...(authStore.settings.frontendSettings.quickAddDefaultReminders ?? [])], }, } await authStore.saveUserSettings({ diff --git a/frontend/src/modelTypes/IUserSettings.ts b/frontend/src/modelTypes/IUserSettings.ts index 6bab14abf..3cc6faa0d 100644 --- a/frontend/src/modelTypes/IUserSettings.ts +++ b/frontend/src/modelTypes/IUserSettings.ts @@ -1,5 +1,6 @@ import type {IAbstract} from './IAbstract' import type {IProject} from './IProject' +import type {ITaskReminder} from '@/modelTypes/ITaskReminder' import type {PrefixMode} from '@/modules/quickAddMagic' import type {BasicColorSchema} from '@vueuse/core' import type {SupportedLocale} from '@/i18n' @@ -26,6 +27,7 @@ export interface IFrontendSettings { sidebarWidth: number | null commentSortOrder: 'asc' | 'desc' desktopQuickEntryShortcut: string + quickAddDefaultReminders: ITaskReminder[] } export interface IExtraSettingsLink { diff --git a/frontend/src/models/userSettings.ts b/frontend/src/models/userSettings.ts index 74cd00687..2ac668f3f 100644 --- a/frontend/src/models/userSettings.ts +++ b/frontend/src/models/userSettings.ts @@ -37,6 +37,7 @@ export default class UserSettingsModel extends AbstractModel impl sidebarWidth: null, commentSortOrder: 'asc', desktopQuickEntryShortcut: 'CmdOrCtrl+Shift+A', + quickAddDefaultReminders: [], } extraSettingsLinks = {} diff --git a/frontend/src/views/user/settings/General.vue b/frontend/src/views/user/settings/General.vue index 256870076..cb06c056b 100644 --- a/frontend/src/views/user/settings/General.vue +++ b/frontend/src/views/user/settings/General.vue @@ -499,6 +499,8 @@ const settings = ref({ timeFormat: authStore.settings.frontendSettings.timeFormat ?? TIME_FORMAT.HOURS_12, // Add fallback for old settings that don't have the default task relation type set defaultTaskRelationType: authStore.settings.frontendSettings.defaultTaskRelationType ?? 'related', + // Clone to escape the store's readonly array type. + quickAddDefaultReminders: [...(authStore.settings.frontendSettings.quickAddDefaultReminders ?? [])], }, }) @@ -630,7 +632,13 @@ watch( if (Object.keys(settings.value).length !== 0) { return } - settings.value = {...authStore.settings} + settings.value = { + ...authStore.settings, + frontendSettings: { + ...authStore.settings.frontendSettings, + quickAddDefaultReminders: [...(authStore.settings.frontendSettings.quickAddDefaultReminders ?? [])], + }, + } }, {immediate: true}, )