From 17a4bfd8d64b673c5d3d97fb46b665d1e187d3fa Mon Sep 17 00:00:00 2001 From: Jamie Kyle <113370520+jamiebuilds-signal@users.noreply.github.com> Date: Wed, 6 Nov 2024 11:24:16 -0800 Subject: [PATCH] Fix dark mode when in light mode os theme --- ts/util/getThemeType.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/ts/util/getThemeType.ts b/ts/util/getThemeType.ts index afac7dfc46..13fa5018fe 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); }