diff --git a/src/webpage/404.ts b/src/webpage/404.ts index ee57945..c84aae0 100644 --- a/src/webpage/404.ts +++ b/src/webpage/404.ts @@ -1,7 +1,7 @@ import {I18n} from "./i18n"; import {setTheme, SW} from "./utils/utils"; -setTheme(); +await setTheme(); await I18n.done; I18n.translatePage(); diff --git a/src/webpage/audio/page.ts b/src/webpage/audio/page.ts index 1082634..16e7f34 100644 --- a/src/webpage/audio/page.ts +++ b/src/webpage/audio/page.ts @@ -2,7 +2,7 @@ import {BinWrite} from "../utils/binaryUtils.js"; import {setTheme} from "../utils/utils.js"; import {Play} from "./play.js"; -setTheme(); +await setTheme(); const w = new BinWrite(2 ** 12); w.writeStringNo("jasf"); w.write8(4); diff --git a/src/webpage/index.ts b/src/webpage/index.ts index b954ca3..f9fee3f 100644 --- a/src/webpage/index.ts +++ b/src/webpage/index.ts @@ -304,7 +304,7 @@ document.addEventListener("paste", async (e: ClipboardEvent) => { } }); -setTheme(); +await setTheme(); function userSettings(): void { thisUser.showusersettings(); diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 77d9423..35be51d 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -2246,6 +2246,8 @@ class Localuser { }; } async showusersettings() { + const prefs = await getPreferences(); + const localSettings = getLocalSettings(); const settings = new Settings(I18n.localuser.settings()); { const userOptions = settings.addButton(I18n.localuser.userSettings(), { @@ -2375,13 +2377,13 @@ class Localuser { const themes = ["Dark", "WHITE", "Light", "Dark-Accent"]; tas.addSelect( I18n.localuser["theme:"](), - (_) => { - localStorage.setItem("theme", themes[_]); - setTheme(); + async (_) => { + prefs.theme = themes[_] as ThemeOption; + await setTheme(); }, themes, { - defaultIndex: themes.indexOf(localStorage.getItem("theme") as string), + defaultIndex: themes.indexOf(prefs.theme), }, ); } diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 550d058..243c995 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -26,14 +26,10 @@ let instances: }; }[] | null = null; -setTheme(); -export function setTheme() { - let name = localStorage.getItem("theme"); - if (!name) { - localStorage.setItem("theme", "Dark"); - name = "Dark"; - } - document.body.className = name + "-theme"; +await setTheme(); +export async function setTheme() { + const prefs = await getPreferences(); + document.body.className = prefs.theme + "-theme"; } export function getBulkUsers() { const json = getBulkInfo();