From 4dac5409d8186723bde9fd6f53440d02e7543d66 Mon Sep 17 00:00:00 2001 From: RainyXeon Date: Fri, 12 Jul 2024 17:34:59 +0700 Subject: [PATCH] add: new webui framework (using navbar and refactor lang file) --- module/build.gradle.kts | 21 +- module/src/customize.sh | 18 +- webroot/assets/dark.svg | 1 - webroot/assets/home.svg | 1 + webroot/assets/lang.svg | 1 - webroot/assets/light.svg | 1 - webroot/css/index.css | 92 ++++-- webroot/index.html | 276 ++++++++++-------- webroot/js/language.js | 163 ++--------- webroot/js/list/action.js | 26 -- webroot/js/list/module.js | 26 -- webroot/js/list/settings.js | 26 -- webroot/js/main.js | 13 +- webroot/js/modal/errorHistory.js | 3 +- webroot/js/modal/language.js | 3 +- webroot/js/navbar.js | 41 +++ webroot/js/switcher/fontChanger.js | 3 +- webroot/js/theme.js | 98 +------ webroot/js/themes/dark/index.js | 38 +++ webroot/js/themes/dark/navbar.js | 22 ++ .../{light.icon.js => themes/light/icon.js} | 40 ++- webroot/js/themes/light/index.js | 41 +++ webroot/js/themes/light/navbar.js | 16 + webroot/js/translate/action.js | 25 ++ webroot/js/translate/home.js | 89 ++++++ webroot/js/translate/modules.js | 9 + webroot/js/translate/settings.js | 28 ++ webroot/lang/en_US.json | 97 +++--- webroot/lang/ja_JP.json | 97 +++--- webroot/lang/pt_BR.json | 97 +++--- webroot/lang/ro_RO.json | 97 +++--- webroot/lang/ru_RU.json | 99 ++++--- webroot/lang/vi_VN.json | 97 +++--- webroot/lang/zh_CN.json | 100 ++++--- webroot/lang/zh_TW.json | 101 ++++--- 35 files changed, 1087 insertions(+), 819 deletions(-) delete mode 100644 webroot/assets/dark.svg create mode 100644 webroot/assets/home.svg delete mode 100644 webroot/assets/lang.svg delete mode 100644 webroot/assets/light.svg delete mode 100644 webroot/js/list/action.js delete mode 100644 webroot/js/list/module.js delete mode 100644 webroot/js/list/settings.js create mode 100644 webroot/js/navbar.js create mode 100644 webroot/js/themes/dark/index.js create mode 100644 webroot/js/themes/dark/navbar.js rename webroot/js/{light.icon.js => themes/light/icon.js} (67%) create mode 100644 webroot/js/themes/light/index.js create mode 100644 webroot/js/themes/light/navbar.js create mode 100644 webroot/js/translate/action.js create mode 100644 webroot/js/translate/home.js create mode 100644 webroot/js/translate/modules.js create mode 100644 webroot/js/translate/settings.js diff --git a/module/build.gradle.kts b/module/build.gradle.kts index dd3a8de..7b60273 100644 --- a/module/build.gradle.kts +++ b/module/build.gradle.kts @@ -168,13 +168,22 @@ androidComponents.onVariants { variant -> set.add(Pair(root.file("webroot/js/kernelsu.js").asFile, null)) set.add(Pair(root.file("webroot/js/theme.js").asFile, null)) set.add(Pair(root.file("webroot/js/language.js").asFile, null)) - set.add(Pair(root.file("webroot/js/light.icon.js").asFile, null)) set.add(Pair(root.file("webroot/js/restoreError.js").asFile, null)) + set.add(Pair(root.file("webroot/js/navbar.js").asFile, null)) + + set.add(Pair(root.file("webroot/js/translate/action.js").asFile, null)) + set.add(Pair(root.file("webroot/js/translate/home.js").asFile, null)) + set.add(Pair(root.file("webroot/js/translate/modules.js").asFile, null)) + set.add(Pair(root.file("webroot/js/translate/settings.js").asFile, null)) + + set.add(Pair(root.file("webroot/js/themes/dark/index.js").asFile, null)) + set.add(Pair(root.file("webroot/js/themes/dark/navbar.js").asFile, null)) + + set.add(Pair(root.file("webroot/js/themes/light/index.js").asFile, null)) + set.add(Pair(root.file("webroot/js/themes/light/navbar.js").asFile, null)) + set.add(Pair(root.file("webroot/js/themes/light/icon.js").asFile, null)) - set.add(Pair(root.file("webroot/js/list/module.js").asFile, null)) - set.add(Pair(root.file("webroot/js/list/settings.js").asFile, null)) set.add(Pair(root.file("webroot/js/list/language.js").asFile, null)) - set.add(Pair(root.file("webroot/js/list/action.js").asFile, null)) set.add(Pair(root.file("webroot/js/switcher/fontChanger.js").asFile, null)) @@ -199,16 +208,14 @@ androidComponents.onVariants { variant -> set.add(Pair(root.file("webroot/assets/mark.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/tick.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/warn.svg").asFile, null)) - set.add(Pair(root.file("webroot/assets/light.svg").asFile, null)) - set.add(Pair(root.file("webroot/assets/dark.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/module.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/expand.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/settings.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/close.svg").asFile, null)) - set.add(Pair(root.file("webroot/assets/lang.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/content.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/error.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/action.svg").asFile, null)) + set.add(Pair(root.file("webroot/assets/home.svg").asFile, null)) sig.initSign(privKey) set.forEach { it.first.sha(it.second) } val signFile = root.file(name).asFile diff --git a/module/src/customize.sh b/module/src/customize.sh index f83c5ad..36a8351 100644 --- a/module/src/customize.sh +++ b/module/src/customize.sh @@ -119,13 +119,21 @@ extract "$ZIPFILE" 'webroot/js/main.js' "$MODPATH/webroot/js" true extract "$ZIPFILE" 'webroot/js/kernelsu.js' "$MODPATH/webroot/js" true extract "$ZIPFILE" 'webroot/js/theme.js' "$MODPATH/webroot/js" true extract "$ZIPFILE" 'webroot/js/language.js' "$MODPATH/webroot/js" true -extract "$ZIPFILE" 'webroot/js/light.icon.js' "$MODPATH/webroot/js/list" true +extract "$ZIPFILE" 'webroot/js/navbar.js' "$MODPATH/webroot/js/list" true extract "$ZIPFILE" 'webroot/js/restoreError.js' "$MODPATH/webroot/js/list" true -extract "$ZIPFILE" 'webroot/js/list/module.js' "$MODPATH/webroot/js/list" true -extract "$ZIPFILE" 'webroot/js/list/settings.js' "$MODPATH/webroot/js/list" true +extract "$ZIPFILE" 'webroot/js/translate/home.js' "$MODPATH/webroot/js/translate" true +extract "$ZIPFILE" 'webroot/js/translate/action.js' "$MODPATH/webroot/js/translate" true +extract "$ZIPFILE" 'webroot/js/translate/modules.js' "$MODPATH/webroot/js/translate" true +extract "$ZIPFILE" 'webroot/js/translate/settings.js' "$MODPATH/webroot/js/translate" true + +extract "$ZIPFILE" 'webroot/js/theme/dark/index.js' "$MODPATH/webroot/js/theme/dark" true +extract "$ZIPFILE" 'webroot/js/theme/dark/navbar.js' "$MODPATH/webroot/js/theme/dark" true +extract "$ZIPFILE" 'webroot/js/theme/light/index.js' "$MODPATH/webroot/js/theme/light" true +extract "$ZIPFILE" 'webroot/js/theme/light/navbar.js' "$MODPATH/webroot/js/theme/light" true +extract "$ZIPFILE" 'webroot/js/theme/light/icon.js' "$MODPATH/webroot/js/theme/light" true + extract "$ZIPFILE" 'webroot/js/list/language.js' "$MODPATH/webroot/js/list" true -extract "$ZIPFILE" 'webroot/js/list/action.js' "$MODPATH/webroot/js/list" true for lang in en_US ja_JP pt_BR ro_RO ru_RU vi_VN zh_CN zh_TW; do extract "$ZIPFILE" "webroot/lang/${lang}.json" "$MODPATH/webroot/lang" true @@ -142,7 +150,7 @@ extract "$ZIPFILE" 'webroot/css/fonts.css' "$MODPATH/webroot/css" true extract "$ZIPFILE" 'webroot/fonts/ProductSans-Italic.ttf' "$MODPATH/webroot/fonts" true extract "$ZIPFILE" 'webroot/fonts/ProductSans-Regular.ttf' "$MODPATH/webroot/fonts" true -for svg in mark tick warn light dark module expand settings close lang content error action; do +for svg in mark tick warn module expand settings close content error action home; do extract "$ZIPFILE" "webroot/assets/${svg}.svg" "$MODPATH/webroot/assets" true done diff --git a/webroot/assets/dark.svg b/webroot/assets/dark.svg deleted file mode 100644 index fd03116..0000000 --- a/webroot/assets/dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webroot/assets/home.svg b/webroot/assets/home.svg new file mode 100644 index 0000000..ef54108 --- /dev/null +++ b/webroot/assets/home.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webroot/assets/lang.svg b/webroot/assets/lang.svg deleted file mode 100644 index 285ccc6..0000000 --- a/webroot/assets/lang.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webroot/assets/light.svg b/webroot/assets/light.svg deleted file mode 100644 index 4210bd0..0000000 --- a/webroot/assets/light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webroot/css/index.css b/webroot/css/index.css index 674c4f5..a84332e 100644 --- a/webroot/css/index.css +++ b/webroot/css/index.css @@ -17,6 +17,16 @@ /* --font-system: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif */ } +.radios input[type=radio] { + display: none; +} + +.radio input[type=radio] { + display: flex; + align-items: center; + justify-content: center; +} + * { background-color: var(--background); color: var(--font); @@ -45,8 +55,9 @@ a { } .full_screen { - position: fixed; - z-index: 10; + position: fixed; + overflow-y: scroll; + z-index: 10; top: 0; bottom: 0; left: 0; @@ -80,6 +91,51 @@ a { font-size: 20px; } +.navbar { + display: flex; + position: fixed; + align-items: center; + justify-content: space-between; + background-color: var(--dim); + left: 0; + right: 0; + bottom: 0; + padding: 25px 25px; + font-size: 20px; +} + +.navtitle { + display: flex; + align-items: center; + justify-content: center; + font-size: small; + margin-top: 8px; + opacity: 1; +} + +.navhidden { + visibility: hidden; +} + +.navicon { + background-color: var(--small-card); + display: flex; + width: 65px; + height: 30px; + align-items: center; + justify-content: center; + border-radius: 50px; +} + +.navicon_disable { + display: flex; + width: 65px; + height: 30px; + align-items: center; + justify-content: center; + border-radius: 50px; +} + .card { margin-left: 15px; margin-right: 15px; @@ -153,6 +209,8 @@ a { padding-top: 5px; padding-left: 10px; padding-right: 10px; + margin-left: 10px; + margin-right: 10px; padding-bottom: 5px; } @@ -229,21 +287,7 @@ a { color: var(--lock-desc); } - - - - - - - - - - - - - - - +/* Switch */ .switch { position: relative; display: inline-block; @@ -273,19 +317,19 @@ a { .slider:before { position: absolute; content: ""; - height: 26px; - width: 26px; - left: 4px; - bottom: 4px; + height: 23px; + width: 23px; + left: 6px; + bottom: 6px; background-color: var(--desc); -webkit-transition: .4s; transition: .4s; } input:checked + .slider:before { - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); } /* Rounded sliders */ diff --git a/webroot/index.html b/webroot/index.html index b63b6cf..a93f827 100644 --- a/webroot/index.html +++ b/webroot/index.html @@ -7,10 +7,8 @@ - - + - @@ -58,95 +56,59 @@ - - -
-
ReZygisk
-
-
- -
-
- -
-
-
-
+ +