From c8ec3c74d883535d5cce37bab4e7ecdbd942b994 Mon Sep 17 00:00:00 2001 From: amsyarasyiq <82711525+amsyarasyiq@users.noreply.github.com> Date: Thu, 28 Mar 2024 20:38:31 +0800 Subject: [PATCH] [themes] Set fallback theme on getter --- src/lib/managers/themes.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/managers/themes.ts b/src/lib/managers/themes.ts index 7c60cd3..5aa864f 100644 --- a/src/lib/managers/themes.ts +++ b/src/lib/managers/themes.ts @@ -2,6 +2,7 @@ * Theming system in Bunny is currently a prototype, expect an unreadable theme implementation below */ +import { allSettled } from "@core/polyfills"; import { getStoredTheme, getThemeFilePath } from "@lib/api/native/loader"; import { ThemeManager } from "@lib/api/native/modules"; import { after, before, instead } from "@lib/api/patcher"; @@ -220,7 +221,7 @@ export function getThemeFromLoader(): Theme | null { export async function updateThemes() { await awaitSyncWrapper(themes); const currentTheme = getThemeFromLoader(); - await Promise.allSettled(Object.keys(themes).map(id => fetchTheme(id, currentTheme?.id === id))); + await allSettled(Object.keys(themes).map(id => fetchTheme(id, currentTheme?.id === id))); } const origRawColor = { ...color.RawColor }; @@ -267,10 +268,12 @@ function patchColor() { after("get", mmkvStorage, ([a], ret) => { if (a === "SelectivelySyncedUserSettingsStore") { if (ret?._state?.appearance?.settings?.theme && enabled) { + vdThemeFallback = ret._state.appearance.settings.theme; ret._state.appearance.settings.theme = vdKey; } } else if (a === "ThemeStore") { if (ret?._state?.theme && enabled) { + vdThemeFallback = ret._state.theme; ret._state.theme = vdKey; } }