diff --git a/web/src/lib/settings/defaults.ts b/web/src/lib/settings/defaults.ts index 118618ad..18c3e186 100644 --- a/web/src/lib/settings/defaults.ts +++ b/web/src/lib/settings/defaults.ts @@ -11,9 +11,12 @@ const defaultSettings: CobaltSettings = { theme: "auto", language: defaultLocale, autoLanguage: true, + }, + accessibility: { reduceMotion: false, reduceTransparency: false, disableHaptics: false, + dontAutoOpenQueue: false, }, save: { alwaysProxy: false, diff --git a/web/src/lib/settings/migrate.ts b/web/src/lib/settings/migrate.ts index 6e021369..8c71d29c 100644 --- a/web/src/lib/settings/migrate.ts +++ b/web/src/lib/settings/migrate.ts @@ -64,6 +64,17 @@ const migrations: Record = { } } + if (settings?.appearance) { + if ("reduceMotion" in settings.appearance) { + out.accessibility!.reduceMotion = settings.appearance.reduceMotion; + delete settings.appearance.reduceMotion; + } + if ("reduceTransparency" in settings.appearance) { + out.accessibility!.reduceTransparency = settings.appearance.reduceTransparency; + delete settings.appearance.reduceTransparency; + } + } + return out as AllPartialSettingsWithSchema; }, }; diff --git a/web/src/lib/types/settings/v5.ts b/web/src/lib/types/settings/v5.ts index 230114c4..d0e684c3 100644 --- a/web/src/lib/types/settings/v5.ts +++ b/web/src/lib/types/settings/v5.ts @@ -2,8 +2,12 @@ import { type CobaltSettingsV4 } from "$lib/types/settings/v4"; export type CobaltSettingsV5 = Omit & { schemaVersion: 5, - appearance: CobaltSettingsV4['appearance'] & { + appearance: Omit, + accessibility: { + reduceMotion: boolean; + reduceTransparency: boolean; disableHaptics: boolean; + dontAutoOpenQueue: boolean; }, advanced: CobaltSettingsV4['advanced'] & { useWebCodecs: boolean;