From d66f1c58d8f00a60151b773b9470f01718da040b Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sun, 29 Jun 2025 09:07:53 -0700 Subject: [PATCH] feat(webui): light/dark theme selection (#2343) Closes #2093 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2343 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- static/webui/index.html | 63 +++++++++++++++++---------------- static/webui/script.js | 12 +++++++ static/webui/translations/de.js | 3 ++ static/webui/translations/en.js | 3 ++ static/webui/translations/es.js | 3 ++ static/webui/translations/fr.js | 3 ++ static/webui/translations/ru.js | 3 ++ static/webui/translations/zh.js | 3 ++ 8 files changed, 62 insertions(+), 31 deletions(-) diff --git a/static/webui/index.html b/static/webui/index.html index bcca5015..9c820321 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -13,37 +13,38 @@ OpenWF WebUI - + +
diff --git a/static/webui/script.js b/static/webui/script.js index 417bee73..4414110d 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -230,6 +230,18 @@ function setLanguage(lang) { } } +function setActiveTheme(theme) { + document.documentElement.setAttribute("data-bs-theme", theme); + document.querySelector("[data-theme].active").classList.remove("active"); + document.querySelector("[data-theme=" + theme + "]").classList.add("active"); +} +setActiveTheme(localStorage.getItem("theme") ?? "dark"); + +function setTheme(theme) { + setActiveTheme(theme); + localStorage.setItem("theme", theme); +} + const webUiModularWeapons = [ "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon", "/Lotus/Weapons/Ostron/Melee/LotusModularWeapon", diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 2ce0e396..0179030c 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -291,5 +291,8 @@ dict = { upgrade_SwiftExecute: `[UNTRANSLATED] Speed of Mercy Kills increased by 50%`, upgrade_OnHackInvis: `[UNTRANSLATED] Invisible for 15 seconds after hacking`, + theme_dark: `[UNTRANSLATED] Dark Theme`, + theme_light: `[UNTRANSLATED] Light Theme`, + prettier_sucks_ass: `` }; diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index 1443dad9..36f0645b 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -290,5 +290,8 @@ dict = { upgrade_SwiftExecute: `Speed of Mercy Kills increased by 50%`, upgrade_OnHackInvis: `Invisible for 15 seconds after hacking`, + theme_dark: `Dark Theme`, + theme_light: `Light Theme`, + prettier_sucks_ass: `` }; diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index f5b1a377..d8e561b1 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -291,5 +291,8 @@ dict = { upgrade_SwiftExecute: `Velocidad de ejecuciones aumentada en un 50%`, upgrade_OnHackInvis: `Invisible durante 15 segundos después de hackear`, + theme_dark: `[UNTRANSLATED] Dark Theme`, + theme_light: `[UNTRANSLATED] Light Theme`, + prettier_sucks_ass: `` }; diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index 149af533..43e96c0f 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -291,5 +291,8 @@ dict = { upgrade_SwiftExecute: `Vitesse des miséricordes augmentée de 50%`, upgrade_OnHackInvis: `Invisible pendant 15 secondes après un piratage`, + theme_dark: `[UNTRANSLATED] Dark Theme`, + theme_light: `[UNTRANSLATED] Light Theme`, + prettier_sucks_ass: `` }; diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index 1d5b0e8c..d2a7e36d 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -291,5 +291,8 @@ dict = { upgrade_SwiftExecute: `[UNTRANSLATED] Speed of Mercy Kills increased by 50%`, upgrade_OnHackInvis: `[UNTRANSLATED] Invisible for 15 seconds after hacking`, + theme_dark: `[UNTRANSLATED] Dark Theme`, + theme_light: `[UNTRANSLATED] Light Theme`, + prettier_sucks_ass: `` }; diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index ac0420d2..602431cf 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -291,5 +291,8 @@ dict = { upgrade_SwiftExecute: `怜悯之击速度提升50%`, upgrade_OnHackInvis: `入侵后隐身15秒`, + theme_dark: `[UNTRANSLATED] Dark Theme`, + theme_light: `[UNTRANSLATED] Light Theme`, + prettier_sucks_ass: `` };