From 61bad158e8562ba8980f63ac49764b980da1c5d0 Mon Sep 17 00:00:00 2001 From: RainyXeon Date: Thu, 18 Jul 2024 11:30:58 +0700 Subject: [PATCH] improve: action page design; add: daemon status --- webroot/css/index.css | 21 ++++++++++++++--- webroot/index.html | 36 +++++++++++++++++++---------- webroot/js/language.js | 6 +++-- webroot/js/main.js | 6 ++--- webroot/js/translate/action.js | 42 +++++++++++++++++++++++++++++++++- webroot/lang/en_US.json | 5 ++++ webroot/lang/ja_JP.json | 5 ++++ webroot/lang/pt_BR.json | 5 ++++ webroot/lang/ro_RO.json | 5 ++++ webroot/lang/ru_RU.json | 5 ++++ webroot/lang/vi_VN.json | 5 ++++ webroot/lang/zh_CN.json | 5 ++++ webroot/lang/zh_TW.json | 5 ++++ 13 files changed, 130 insertions(+), 21 deletions(-) diff --git a/webroot/css/index.css b/webroot/css/index.css index 41c52b1..ab51fe8 100644 --- a/webroot/css/index.css +++ b/webroot/css/index.css @@ -14,7 +14,6 @@ --lock-desc: #c9c9c9; --lock: #fff; --font-family: 'ProductSans Regular', 'ProductSans Italic', sans-serif; - /* --font-system: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif */ } .radios input[type=radio] { @@ -196,7 +195,7 @@ a { .button { padding: 1em 0 1em 0; border-radius: 30px; - transition: transform 0.05s ease-in-out; + transition: transform 0.15s ease-in-out; background-color: var(--button); } @@ -339,4 +338,20 @@ input:checked + .slider:before { .slider.round:before { border-radius: 50%; -} \ No newline at end of file +} + +/* Responsive CSS */ +@media only screen and (max-width: 600px) { + .button_list { + display: grid; + grid-template-columns: 1fr; + column-gap: 20px; + } + .button { + padding: 1em 0 1em 0; + border-radius: 30px; + margin: 0.6em 0 0.6em; + transition: transform 0.15s ease-in-out; + background-color: var(--button); + } +} diff --git a/webroot/index.html b/webroot/index.html index a96ad87..ce16afe 100644 --- a/webroot/index.html +++ b/webroot/index.html @@ -117,21 +117,33 @@
Actions
-
-
Daemon (32 bit)
-
-
Stop
-
Start
-
Exit
+
+
+
Daemon (32 bit)
+
Unknown
+
+ +
+
+
Stop
+
Start
+
Exit
+
-
-
Daemon (64 bit)
-
-
Stop
-
Start
-
Exit
+
+
+
Daemon (64 bit)
+
Unknown
+
+ +
+
+
Stop
+
Start
+
Exit
+
diff --git a/webroot/js/language.js b/webroot/js/language.js index a036efb..3c234db 100644 --- a/webroot/js/language.js +++ b/webroot/js/language.js @@ -1,3 +1,4 @@ +import { setError } from './main.js' import { translateActionPage } from './translate/action.js' import { translateHomePage } from './translate/home.js' import { translateModulesPage } from './translate/modules.js' @@ -9,7 +10,7 @@ export async function setNewLanguage(locate, initialize) { translateHomePage(old_translations, new_translations) translateModulesPage(new_translations) - translateActionPage(new_translations) + translateActionPage(old_translations, new_translations) translateSettingsPage(new_translations) /* INFO: lang modal */ @@ -27,7 +28,8 @@ export async function setNewLanguage(locate, initialize) { } export async function getTranslations(locate) { - const translateData = await fetch(`./lang/${locate}.json`).catch(() => { /* INFO: noop */ }) + const translateData = await fetch(`./lang/${locate}.json`) + .catch((err) => setError('WebUI', err.stack ? err.stack : err.message)) return translateData.json() } diff --git a/webroot/js/main.js b/webroot/js/main.js index 07222c8..f3fda1e 100644 --- a/webroot/js/main.js +++ b/webroot/js/main.js @@ -1,19 +1,19 @@ import { fullScreen, exec, toast } from './kernelsu.js' import { setNewLanguage, getTranslations } from './language.js' -function setError(place, issue) { +export function setError(place, issue) { const fullErrorLog = setErrorData(`${place}: ${issue}`) document.getElementById('errorh_panel').innerHTML = fullErrorLog toast(`${place}: ${issue}`) } -function setLangData(mode) { +export function setLangData(mode) { localStorage.setItem('/system/language', mode) return localStorage.getItem('/system/language') } -function setErrorData(errorLog) { +export function setErrorData(errorLog) { const getPrevious = localStorage.getItem('/system/error') const finalLog = getPrevious && getPrevious.length !== 0 ? getPrevious + `\n` + errorLog : errorLog diff --git a/webroot/js/translate/action.js b/webroot/js/translate/action.js index 7752b91..c3b7fc2 100644 --- a/webroot/js/translate/action.js +++ b/webroot/js/translate/action.js @@ -1,4 +1,4 @@ -export function translateActionPage(new_translations) { +export function translateActionPage(old_translations, new_translations) { /* INFO: action card */ document.getElementById('panel_actions_header').innerHTML = new_translations.page.action.header @@ -15,4 +15,44 @@ export function translateActionPage(new_translations) { document.getElementById('daemon64_start_button').innerHTML = new_translations.page.action.daemonButton.start document.getElementById('daemon64_exit_button').innerHTML = new_translations.page.action.daemonButton.exit } + + /* INFO: daemon32 status card */ + const daemon32_status = document.getElementById('daemon32_status') + switch (daemon32_status.innerHTML.replace(/(\r\n|\n|\r)/gm, '').trim()) { + case old_translations.page.action.status.unknown: { + daemon32_status.innerHTML = new_translations.page.action.status.unknown + + break + } + case old_translations.page.action.status.notWorking: { + daemon32_status.innerHTML = new_translations.page.action.status.notWorking + + break + } + case old_translations.page.action.status.ok: { + daemon32_status.innerHTML = new_translations.page.action.status.ok + + break + } + } + + /* INFO: daemon64 status card */ + const daemon64_status = document.getElementById('daemon64_status') + switch (daemon64_status.innerHTML.replace(/(\r\n|\n|\r)/gm, '').trim()) { + case old_translations.page.action.status.unknown: { + daemon64_status.innerHTML = new_translations.page.action.status.unknown + + break + } + case old_translations.page.action.status.notWorking: { + daemon64_status.innerHTML = new_translations.page.action.status.notWorking + + break + } + case old_translations.page.action.status.ok: { + daemon64_status.innerHTML = new_translations.page.action.status.ok + + break + } + } } \ No newline at end of file diff --git a/webroot/lang/en_US.json b/webroot/lang/en_US.json index 1a41acb..8005910 100644 --- a/webroot/lang/en_US.json +++ b/webroot/lang/en_US.json @@ -41,6 +41,11 @@ "start": "Start", "stop": "Stop", "exit": "Exit" + }, + "status": { + "unknown": "Unknown", + "notWorking": "Not Working", + "ok": "Working" } }, "settings": { diff --git a/webroot/lang/ja_JP.json b/webroot/lang/ja_JP.json index 2315de8..58f00e1 100644 --- a/webroot/lang/ja_JP.json +++ b/webroot/lang/ja_JP.json @@ -41,6 +41,11 @@ "start": "スタート", "stop": "ストップ", "exit": "終了" + }, + "status": { + "unknown": "Unknown", + "notWorking": "Not Working", + "ok": "Working" } }, "settings": { diff --git a/webroot/lang/pt_BR.json b/webroot/lang/pt_BR.json index 6275572..6f5c7b2 100644 --- a/webroot/lang/pt_BR.json +++ b/webroot/lang/pt_BR.json @@ -41,6 +41,11 @@ "start": "Iniciar", "stop": "Parar", "exit": "Sair" + }, + "status": { + "unknown": "Desconhecido", + "notWorking": "Não funcionando", + "ok": "Funcionando" } }, "settings": { diff --git a/webroot/lang/ro_RO.json b/webroot/lang/ro_RO.json index f381ce0..0687b9b 100644 --- a/webroot/lang/ro_RO.json +++ b/webroot/lang/ro_RO.json @@ -41,6 +41,11 @@ "start": "Start", "stop": "Stop", "exit": "Ieșire" + }, + "status": { + "unknown": "Unknown", + "notWorking": "Not Working", + "ok": "Working" } }, "settings": { diff --git a/webroot/lang/ru_RU.json b/webroot/lang/ru_RU.json index 054e952..511baa7 100644 --- a/webroot/lang/ru_RU.json +++ b/webroot/lang/ru_RU.json @@ -41,6 +41,11 @@ "start": "Старт", "stop": "Пауза", "exit": "Стоп" + }, + "status": { + "unknown": "Unknown", + "notWorking": "Not Working", + "ok": "Working" } }, "settings": { diff --git a/webroot/lang/vi_VN.json b/webroot/lang/vi_VN.json index fa9e8b9..857a054 100644 --- a/webroot/lang/vi_VN.json +++ b/webroot/lang/vi_VN.json @@ -41,6 +41,11 @@ "start": "Chạy", "stop": "Dừng", "exit": "Thoát" + }, + "status": { + "unknown": "Không xác định", + "notWorking": "Không hoạt động", + "ok": "Đang hoạt động" } }, "settings": { diff --git a/webroot/lang/zh_CN.json b/webroot/lang/zh_CN.json index 9fd8ee1..81f7d66 100644 --- a/webroot/lang/zh_CN.json +++ b/webroot/lang/zh_CN.json @@ -41,6 +41,11 @@ "start": "启动", "stop": "停止", "exit": "退出" + }, + "status": { + "unknown": "Unknown", + "notWorking": "Not Working", + "ok": "Working" } }, "settings": { diff --git a/webroot/lang/zh_TW.json b/webroot/lang/zh_TW.json index d18de54..d832535 100644 --- a/webroot/lang/zh_TW.json +++ b/webroot/lang/zh_TW.json @@ -41,6 +41,11 @@ "start": "啟動", "stop": "停止", "exit": "退出" + }, + "status": { + "unknown": "Unknown", + "notWorking": "Not Working", + "ok": "Working" } }, "settings": {