diff --git a/ts/util/getThemeType.ts b/ts/util/getThemeType.ts index afac7dfc4..13fa5018f 100644 --- a/ts/util/getThemeType.ts +++ b/ts/util/getThemeType.ts @@ -2,20 +2,27 @@ // SPDX-License-Identifier: AGPL-3.0-only import { SystemThemeType, ThemeType } from '../types/Util'; +import { missingCaseError } from './missingCaseError'; export async function getThemeType(): Promise { const themeSetting = await window.Events.getThemeSetting(); - if ( - themeSetting === 'light' || - window.systemTheme === SystemThemeType.light - ) { + if (themeSetting === 'light') { return ThemeType.light; } - if (themeSetting === 'dark' || window.systemTheme === SystemThemeType.dark) { + if (themeSetting === 'dark') { return ThemeType.dark; } - return window.systemTheme; + if (themeSetting === 'system') { + if (window.systemTheme === SystemThemeType.light) { + return ThemeType.light; + } + if (window.systemTheme === SystemThemeType.dark) { + return ThemeType.dark; + } + throw missingCaseError(window.systemTheme); + } + throw missingCaseError(themeSetting); }