返回提交历史
Modified
static/webui/index.html
+32
-31
Modified
static/webui/script.js
+12
-0
Modified
static/webui/translations/de.js
+3
-0
Modified
static/webui/translations/en.js
+3
-0
Modified
static/webui/translations/es.js
+3
-0
Modified
static/webui/translations/fr.js
+3
-0
Modified
static/webui/translations/ru.js
+3
-0
Modified
static/webui/translations/zh.js
+3
-0
XFEstudio/XFESpaceNinjaServer
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>
d66f1c58
代码差异
8 个文件
+62
-31
@@ -13,37 +13,38 @@
13
13
<span class="navbar-toggler-icon"></span>
14
14
</button>
15
15
<a class="navbar-brand">OpenWF WebUI</a>
16
<ul class="navbar-nav ms-auto mb-0">
17
<li class="nav-item dropdown">
18
<button id="active-lang-name" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"></button>
19
<ul class="dropdown-menu dropdown-menu-end">
20
<li><a class="dropdown-item active" href="#" data-lang="en" onclick="event.preventDefault();setLanguage('en');">English</a></li>
21
<li><a class="dropdown-item" href="#" data-lang="de" onclick="event.preventDefault();setLanguage('de');">Deutsch</a></li>
22
<li><a class="dropdown-item" href="#" data-lang="es" onclick="event.preventDefault();setLanguage('es');">Español</a></li>
23
<li><a class="dropdown-item" href="#" data-lang="fr" onclick="event.preventDefault();setLanguage('fr');">Français</a></li>
24
<li><a class="dropdown-item" href="#" data-lang="it" onclick="event.preventDefault();setLanguage('it');">Italiano</a></li>
25
<li><a class="dropdown-item" href="#" data-lang="ja" onclick="event.preventDefault();setLanguage('ja');">日本語</a></li>
26
<li><a class="dropdown-item" href="#" data-lang="ko" onclick="event.preventDefault();setLanguage('ko');">한국어</a></li>
27
<li><a class="dropdown-item" href="#" data-lang="pl" onclick="event.preventDefault();setLanguage('pl');">Polski</a></li>
28
<li><a class="dropdown-item" href="#" data-lang="pt" onclick="event.preventDefault();setLanguage('pt');">Português</a></li>
29
<li><a class="dropdown-item" href="#" data-lang="ru" onclick="event.preventDefault();setLanguage('ru');">Русский</a></li>
30
<li><a class="dropdown-item" href="#" data-lang="tr" onclick="event.preventDefault();setLanguage('tr');">Türkçe</a></li>
31
<li><a class="dropdown-item" href="#" data-lang="uk" onclick="event.preventDefault();setLanguage('uk');">Українська</a></li>
32
<li><a class="dropdown-item" href="#" data-lang="zh" onclick="event.preventDefault();setLanguage('zh');">简体中文</a></li>
33
<li><a class="dropdown-item" href="#" data-lang="tc" onclick="event.preventDefault();setLanguage('tc');">繁體中文</a></li>
34
<li><a class="dropdown-item" href="#" data-lang="th" onclick="event.preventDefault();setLanguage('th');">แบบไทย</a></li>
35
</ul>
36
</li>
37
<li class="nav-item dropdown user-dropdown">
38
<button class="nav-link dropdown-toggle displayname" data-bs-toggle="dropdown" aria-expanded="false"></button>
39
<ul class="dropdown-menu dropdown-menu-end">
40
<li><a class="dropdown-item" href="/webui/" onclick="doLogout();" data-loc="navbar_logout"></a></li>
41
<li><hr class="dropdown-divider"></li>
42
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();renameAccount();" data-loc="navbar_renameAccount"></a></li>
43
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();deleteAccount();" data-loc="navbar_deleteAccount"></a></li>
44
</ul>
45
</li>
46
</ul>
16
<div class="ms-auto nav-item dropdown">
17
<button id="active-lang-name" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"></button>
18
<ul class="dropdown-menu dropdown-menu-end">
19
<li><a class="dropdown-item active" href="#" data-lang="en" onclick="event.preventDefault();setLanguage('en');">English</a></li>
20
<li><a class="dropdown-item" href="#" data-lang="de" onclick="event.preventDefault();setLanguage('de');">Deutsch</a></li>
21
<li><a class="dropdown-item" href="#" data-lang="es" onclick="event.preventDefault();setLanguage('es');">Español</a></li>
22
<li><a class="dropdown-item" href="#" data-lang="fr" onclick="event.preventDefault();setLanguage('fr');">Français</a></li>
23
<li><a class="dropdown-item" href="#" data-lang="it" onclick="event.preventDefault();setLanguage('it');">Italiano</a></li>
24
<li><a class="dropdown-item" href="#" data-lang="ja" onclick="event.preventDefault();setLanguage('ja');">日本語</a></li>
25
<li><a class="dropdown-item" href="#" data-lang="ko" onclick="event.preventDefault();setLanguage('ko');">한국어</a></li>
26
<li><a class="dropdown-item" href="#" data-lang="pl" onclick="event.preventDefault();setLanguage('pl');">Polski</a></li>
27
<li><a class="dropdown-item" href="#" data-lang="pt" onclick="event.preventDefault();setLanguage('pt');">Português</a></li>
28
<li><a class="dropdown-item" href="#" data-lang="ru" onclick="event.preventDefault();setLanguage('ru');">Русский</a></li>
29
<li><a class="dropdown-item" href="#" data-lang="tr" onclick="event.preventDefault();setLanguage('tr');">Türkçe</a></li>
30
<li><a class="dropdown-item" href="#" data-lang="uk" onclick="event.preventDefault();setLanguage('uk');">Українська</a></li>
31
<li><a class="dropdown-item" href="#" data-lang="zh" onclick="event.preventDefault();setLanguage('zh');">简体中文</a></li>
32
<li><a class="dropdown-item" href="#" data-lang="tc" onclick="event.preventDefault();setLanguage('tc');">繁體中文</a></li>
33
<li><a class="dropdown-item" href="#" data-lang="th" onclick="event.preventDefault();setLanguage('th');">แบบไทย</a></li>
34
<li><hr class="dropdown-divider"></li>
35
<li><a class="dropdown-item active" href="#" data-loc="theme_dark" data-theme="dark" onclick="event.preventDefault();setTheme('dark');"></a></li>
36
<li><a class="dropdown-item" href="#" data-loc="theme_light" data-theme="light" onclick="event.preventDefault();setTheme('light');"></a></li>
37
</ul>
38
</div>
39
<div class="nav-item dropdown user-dropdown">
40
<button class="nav-link dropdown-toggle displayname" data-bs-toggle="dropdown" aria-expanded="false"></button>
41
<ul class="dropdown-menu dropdown-menu-end">
42
<li><a class="dropdown-item" href="/webui/" onclick="doLogout();" data-loc="navbar_logout"></a></li>
43
<li><hr class="dropdown-divider"></li>
44
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();renameAccount();" data-loc="navbar_renameAccount"></a></li>
45
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();deleteAccount();" data-loc="navbar_deleteAccount"></a></li>
46
</ul>
47
</div>
47
48
</div>
48
49
</nav>
49
50
<div class="container pt-3 pb-3" id="main-view">
@@ -230,6 +230,18 @@ function setLanguage(lang) {
230
230
}
231
231
}
232
232
233
function setActiveTheme(theme) {
234
document.documentElement.setAttribute("data-bs-theme", theme);
235
document.querySelector("[data-theme].active").classList.remove("active");
236
document.querySelector("[data-theme=" + theme + "]").classList.add("active");
237
}
238
setActiveTheme(localStorage.getItem("theme") ?? "dark");
239
240
function setTheme(theme) {
241
setActiveTheme(theme);
242
localStorage.setItem("theme", theme);
243
}
244
233
245
const webUiModularWeapons = [
234
246
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
235
247
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
@@ -291,5 +291,8 @@ dict = {
291
291
upgrade_SwiftExecute: `[UNTRANSLATED] Speed of Mercy Kills increased by 50%`,
292
292
upgrade_OnHackInvis: `[UNTRANSLATED] Invisible for 15 seconds after hacking`,
293
293
294
theme_dark: `[UNTRANSLATED] Dark Theme`,
295
theme_light: `[UNTRANSLATED] Light Theme`,
296
294
297
prettier_sucks_ass: ``
295
298
};
@@ -290,5 +290,8 @@ dict = {
290
290
upgrade_SwiftExecute: `Speed of Mercy Kills increased by 50%`,
291
291
upgrade_OnHackInvis: `Invisible for 15 seconds after hacking`,
292
292
293
theme_dark: `Dark Theme`,
294
theme_light: `Light Theme`,
295
293
296
prettier_sucks_ass: ``
294
297
};
@@ -291,5 +291,8 @@ dict = {
291
291
upgrade_SwiftExecute: `Velocidad de ejecuciones aumentada en un 50%`,
292
292
upgrade_OnHackInvis: `Invisible durante 15 segundos después de hackear`,
293
293
294
theme_dark: `[UNTRANSLATED] Dark Theme`,
295
theme_light: `[UNTRANSLATED] Light Theme`,
296
294
297
prettier_sucks_ass: ``
295
298
};
@@ -291,5 +291,8 @@ dict = {
291
291
upgrade_SwiftExecute: `Vitesse des miséricordes augmentée de 50%`,
292
292
upgrade_OnHackInvis: `Invisible pendant 15 secondes après un piratage`,
293
293
294
theme_dark: `[UNTRANSLATED] Dark Theme`,
295
theme_light: `[UNTRANSLATED] Light Theme`,
296
294
297
prettier_sucks_ass: ``
295
298
};
@@ -291,5 +291,8 @@ dict = {
291
291
upgrade_SwiftExecute: `[UNTRANSLATED] Speed of Mercy Kills increased by 50%`,
292
292
upgrade_OnHackInvis: `[UNTRANSLATED] Invisible for 15 seconds after hacking`,
293
293
294
theme_dark: `[UNTRANSLATED] Dark Theme`,
295
theme_light: `[UNTRANSLATED] Light Theme`,
296
294
297
prettier_sucks_ass: ``
295
298
};
@@ -291,5 +291,8 @@ dict = {
291
291
upgrade_SwiftExecute: `怜悯之击速度提升50%`,
292
292
upgrade_OnHackInvis: `入侵后隐身15秒`,
293
293
294
theme_dark: `[UNTRANSLATED] Dark Theme`,
295
theme_light: `[UNTRANSLATED] Light Theme`,
296
294
297
prettier_sucks_ass: ``
295
298
};