diff --git a/src/stores/__tests__/settings-store.test.ts b/src/stores/__tests__/settings-store.test.ts index a9cb4780..992bbc6e 100644 --- a/src/stores/__tests__/settings-store.test.ts +++ b/src/stores/__tests__/settings-store.test.ts @@ -28,6 +28,13 @@ describe('settings-store', () => { }); }); + describe('week start', () => { + it('keeps a Saturday week start across a restart', () => { + expect(mergeWithDefaults({ calendarFirstDayOfWeek: 6 } as never).calendarFirstDayOfWeek).toBe(6); + expect(mergeWithDefaults({ calendarFirstDayOfWeek: 3 } as never).calendarFirstDayOfWeek).not.toBe(3); + }); + }); + describe('mergeWithDefaults', () => { it('rejects values outside the allowed set', () => { const out = mergeWithDefaults({ diff --git a/src/stores/settings-store.ts b/src/stores/settings-store.ts index 4403619e..0d4c1ac2 100644 --- a/src/stores/settings-store.ts +++ b/src/stores/settings-store.ts @@ -642,7 +642,7 @@ const VALIDATORS: Partial boolea swipeMode: oneOf(['instant', 'reveal']), archiveMode: oneOf(['single', 'year', 'month']), calendarDefaultView: oneOf(['month', 'week', 'day', 'agenda']), - calendarFirstDayOfWeek: oneOf([0, 1]), + calendarFirstDayOfWeek: oneOf([0, 1, 6]), calendarTimeFormat: oneOf(['12h', '24h']), calendarHoverPreview: oneOf(['instant', 'delay-500ms', 'delay-1s', 'delay-2s', 'off']), filesFolderLayout: oneOf(['inline', 'sidebar']),