From af79bf7a1da6d6ebdd7d822618ea2a0578f42562 Mon Sep 17 00:00:00 2001
From: Sainan <63328889+Sainan@users.noreply.github.com>
Date: Sat, 28 Jun 2025 19:09:41 +0200
Subject: [PATCH] feat(webui): light/dark theme selection
---
static/webui/index.html | 3 +++
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, 33 insertions(+)
diff --git a/static/webui/index.html b/static/webui/index.html
index bcca5015..1be3beb4 100644
--- a/static/webui/index.html
+++ b/static/webui/index.html
@@ -32,6 +32,9 @@
简体中文
繁體中文
แบบไทย
+
+
+
diff --git a/static/webui/script.js b/static/webui/script.js
index 5a13fa4f..11f66ed1 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 5e22c97d..e42a959d 100644
--- a/static/webui/translations/de.js
+++ b/static/webui/translations/de.js
@@ -290,5 +290,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 33f9c97b..e7bd2d70 100644
--- a/static/webui/translations/en.js
+++ b/static/webui/translations/en.js
@@ -289,5 +289,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 bd726737..3f35a0a7 100644
--- a/static/webui/translations/es.js
+++ b/static/webui/translations/es.js
@@ -290,5 +290,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 c3f6c86c..ce1fb7af 100644
--- a/static/webui/translations/fr.js
+++ b/static/webui/translations/fr.js
@@ -290,5 +290,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 d73bae48..22d7ca27 100644
--- a/static/webui/translations/ru.js
+++ b/static/webui/translations/ru.js
@@ -290,5 +290,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 a64c01e5..acb5a230 100644
--- a/static/webui/translations/zh.js
+++ b/static/webui/translations/zh.js
@@ -290,5 +290,8 @@ dict = {
upgrade_SwiftExecute: `怜悯之击速度提升50%`,
upgrade_OnHackInvis: `入侵后隐身15秒`,
+ theme_dark: `[UNTRANSLATED] Dark Theme`,
+ theme_light: `[UNTRANSLATED] Light Theme`,
+
prettier_sucks_ass: ``
};