diff --git a/materialious/src/lib/components/settings/Theme.svelte b/materialious/src/lib/components/settings/Theme.svelte index 0575255c..59f5f781 100644 --- a/materialious/src/lib/components/settings/Theme.svelte +++ b/materialious/src/lib/components/settings/Theme.svelte @@ -64,18 +64,21 @@ if (colorPickerDebounce) clearTimeout(colorPickerDebounce); colorPickerDebounce = setTimeout(async () => { + interfaceAdvancedThemingStore.set({}); + themeColorStore.set(color.hex); await tick(); setAmoledTheme(); currentThemeColors = await getDynamicTheme(); - interfaceAdvancedThemingStore.set({}); }, 100); } async function toggleDarkMode() { const isDark = get(darkModeStore); + interfaceAdvancedThemingStore.set({}); + if (isDark) { ui('mode', 'light'); darkModeStore.set(false); @@ -85,7 +88,6 @@ } currentThemeColors = await getDynamicTheme(); - interfaceAdvancedThemingStore.set({}); } @@ -132,6 +134,7 @@ type="checkbox" bind:checked={$interfaceAmoledTheme} onclick={async () => { + interfaceAdvancedThemingStore.set({}); interfaceAmoledTheme.set(!$interfaceAmoledTheme); await setThemeColors(); }} diff --git a/materialious/src/routes/+layout.svelte b/materialious/src/routes/+layout.svelte index a30bd759..c855d702 100644 --- a/materialious/src/routes/+layout.svelte +++ b/materialious/src/routes/+layout.svelte @@ -36,23 +36,24 @@ await ui('theme', hex); }); - interfaceAdvancedThemingStore.subscribe((colors) => { + interfaceAdvancedThemingStore.subscribe(async (colors) => { setThemeColors(colors); + await setStatusBarColor(); }); interfaceAmoledTheme.subscribe(async () => { - setAmoledTheme(); - setThemeColors($interfaceAdvancedThemingStore); + if (Object.keys($interfaceAdvancedThemingStore).length > 0) return; + setAmoledTheme(); await setStatusBarColor(); }); darkModeStore.subscribe(async () => { + if (Object.keys($interfaceAdvancedThemingStore).length > 0) return; + setTheme(); setAmoledTheme(); - setThemeColors($interfaceAdvancedThemingStore); - await setStatusBarColor(); });