add: action card sepreate with settings

This commit is contained in:
RainyXeon
2024-07-10 18:16:45 +07:00
committed by ThePedroo
parent 259e1f0268
commit db45eaee02
17 changed files with 142 additions and 41 deletions

View File

@@ -174,6 +174,7 @@ androidComponents.onVariants { variant ->
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))
@@ -207,6 +208,7 @@ androidComponents.onVariants { variant ->
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))
sig.initSign(privKey)
set.forEach { it.first.sha(it.second) }
val signFile = root.file(name).asFile

View File

@@ -125,6 +125,7 @@ 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/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
@@ -141,7 +142,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; do
for svg in mark tick warn light dark module expand settings close lang content error action; do
extract "$ZIPFILE" "webroot/assets/${svg}.svg" "$MODPATH/webroot/assets" true
done

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M240-160q-33 0-56.5-23.5T160-240q0-33 23.5-56.5T240-320q33 0 56.5 23.5T320-240q0 33-23.5 56.5T240-160Zm240 0q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm240 0q-33 0-56.5-23.5T640-240q0-33 23.5-56.5T720-320q33 0 56.5 23.5T800-240q0 33-23.5 56.5T720-160ZM240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400ZM240-640q-33 0-56.5-23.5T160-720q0-33 23.5-56.5T240-800q33 0 56.5 23.5T320-720q0 33-23.5 56.5T240-640Zm240 0q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Zm240 0q-33 0-56.5-23.5T640-720q0-33 23.5-56.5T720-800q33 0 56.5 23.5T800-720q0 33-23.5 56.5T720-640Z"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -10,6 +10,7 @@
<script src="js/list/module.js" type="module"></script>
<script src="js/list/settings.js" type="module"></script>
<script src="js/list/language.js" type="module"></script>
<script src="js/list/action.js" type="module"></script>
<script src="js/switcher/fontChanger.js" type="module"></script>
<script src="js/main.js" type="module"></script>
<script src="js/modal/language.js" type="module"></script>
@@ -125,21 +126,21 @@
</div>
</div>
<!-- INFO: Settings card -->
<div id="rezygisk_settings" class="dim card list" style="display: none;">
<!-- INFO: Settings card header -->
<div id="settings_header" class="dimc" style="align-items: center; display: flex; justify-content: space-between; padding-bottom: 10px;">
<!-- INFO: Action card -->
<div id="rezygisk_action" class="dim card list" style="display: none;">
<!-- INFO: Action card header -->
<div id="action_header" class="dimc" style="align-items: center; display: flex; justify-content: space-between; padding-bottom: 10px;">
<div class="dimc" style="align-items: center; display: flex;">
<div class="dimc" id="setting_icon">
<img class="dimc" src="assets/settings.svg">
<div class="dimc" id="action_icon">
<img class="dimc" src="assets/action.svg">
</div>
<div id="settings_card_title" class="dimc content" style="padding-left: 5px; font-size: 1.2em;">
Settings
<div id="action_card_title" class="dimc content" style="padding-left: 5px; font-size: 1.2em;">
Actions
</div>
</div>
<div class="dimc">
<div id="settings_expand_icon" class="dimc expander" style="margin-bottom: 4px; max-height: 24px;">
<div id="action_expand_icon" class="dimc expander" style="margin-bottom: 4px; max-height: 24px;">
<img class="dimc" src="assets/expand.svg">
</div>
</div>
@@ -162,7 +163,28 @@
<div id="daemon64_exit_button" class="center button">Exit</div>
</div>
</div>
</div>
<!-- INFO: Settings card -->
<div id="rezygisk_settings" class="dim card list">
<!-- INFO: Settings card header -->
<div id="settings_header" class="dimc" style="align-items: center; display: flex; justify-content: space-between; padding-bottom: 10px;">
<div class="dimc" style="align-items: center; display: flex;">
<div class="dimc" id="setting_icon">
<img class="dimc" src="assets/settings.svg">
</div>
<div id="settings_card_title" class="dimc content" style="padding-left: 5px; font-size: 1.2em;">
Settings
</div>
</div>
<div class="dimc">
<div id="settings_expand_icon" class="dimc expander" style="margin-bottom: 4px; max-height: 24px;">
<img class="dimc" src="assets/expand.svg">
</div>
</div>
</div>
<!-- INFO: Enable system font option -->
<div class="small_card" style="margin-top: 15px; justify-content: space-between; display: flex; align-items: center;">
<div class="small_card_bg" style="display: inline-block; width: 80%;">
<div id="sys_font_option_title" class="small_card_bg content" style="font-size: 1.1em; padding-left: 5px; padding-top: 6px; padding-bottom: 2px;">Enable system font</div>

View File

@@ -8,6 +8,8 @@ const module_card_title = document.getElementById('module_card_title')
const module_element_arch = document.getElementsByClassName('arch_desc')
/* INFO: settings card */
const settings_card_title = document.getElementById('settings_card_title')
/* INFO: action card */
const action_card_title = document.getElementById('action_card_title')
/* INFO: daemon32 small card */
const daemon32_stop_button = document.getElementById('daemon32_stop_button')
const daemon32_start_button = document.getElementById('daemon32_start_button')
@@ -47,17 +49,19 @@ export async function setNewLanguage(locate, initialize) {
module_card_title.innerHTML = new_lang.moduleCard.header
/* INFO: settings card */
settings_card_title.innerHTML = new_lang.settings.header
/* INFO: action card */
action_card_title.innerHTML = new_lang.action.header
/* INFO: daemon32 small card */
if (daemon32_stop_button) { /* INFO: Not all devices have 32-bit support */
daemon32_stop_button.innerHTML = new_lang.settings.daemonButton.stop
daemon32_start_button.innerHTML = new_lang.settings.daemonButton.start
daemon32_exit_button.innerHTML = new_lang.settings.daemonButton.exit
daemon32_stop_button.innerHTML = new_lang.action.daemonButton.stop
daemon32_start_button.innerHTML = new_lang.action.daemonButton.start
daemon32_exit_button.innerHTML = new_lang.action.daemonButton.exit
}
/* INFO: daemon64 small card */
if (daemon64_stop_button) { /* INFO: Not all devices have 64-bit support */
daemon64_stop_button.innerHTML = new_lang.settings.daemonButton.stop
daemon64_start_button.innerHTML = new_lang.settings.daemonButton.start
daemon64_exit_button.innerHTML = new_lang.settings.daemonButton.exit
daemon64_stop_button.innerHTML = new_lang.action.daemonButton.stop
daemon64_start_button.innerHTML = new_lang.action.daemonButton.start
daemon64_exit_button.innerHTML = new_lang.action.daemonButton.exit
}
/* INFO: lang modal */
lang_modal_title.innerHTML = new_lang.langModal.header

View File

@@ -37,4 +37,10 @@ export const light_copy_icon = `
<svg xmlns="http://www.w3.org/2000/svg" height="40px" viewBox="0 -960 960 960" width="40px" fill="#2c2c2c">
<path d="M320-213.33q-27 0-46.83-19.84Q253.33-253 253.33-280v-533.33q0-27 19.84-46.84Q293-880 320-880h413.33q27 0 46.84 19.83Q800-840.33 800-813.33V-280q0 27-19.83 46.83-19.84 19.84-46.84 19.84H320Zm0-66.67h413.33v-533.33H320V-280ZM186.67-80q-27 0-46.84-19.83Q120-119.67 120-146.67v-600h66.67v600h480V-80h-480ZM320-280v-533.33V-280Z"/>
</svg>
`
export const light_action_icon = `
<svg class="dimc" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#2c2c2c">
<path d="M240-160q-33 0-56.5-23.5T160-240q0-33 23.5-56.5T240-320q33 0 56.5 23.5T320-240q0 33-23.5 56.5T240-160Zm240 0q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm240 0q-33 0-56.5-23.5T640-240q0-33 23.5-56.5T720-320q33 0 56.5 23.5T800-240q0 33-23.5 56.5T720-160ZM240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400ZM240-640q-33 0-56.5-23.5T160-720q0-33 23.5-56.5T240-800q33 0 56.5 23.5T320-720q0 33-23.5 56.5T240-640Zm240 0q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Zm240 0q-33 0-56.5-23.5T640-720q0-33 23.5-56.5T720-800q33 0 56.5 23.5T800-720q0 33-23.5 56.5T720-640Z"/>
</svg>
`

26
webroot/js/list/action.js Normal file
View File

@@ -0,0 +1,26 @@
const button = document.getElementById('action_header')
const icon = document.getElementById('action_expand_icon')
const card = document.getElementById('rezygisk_action')
let sys_module_mode = localStorage.getItem('/cache/list/action/state')
sys_module_mode = setData('closed')
button.addEventListener('click', () => {
if (sys_module_mode === 'closed') {
sys_module_mode = setData('opened')
icon.style.transform = 'rotate(180deg)'
card.style.maxHeight = `${card.scrollHeight}px`
return;
}
sys_module_mode = setData('closed')
icon.style.transform = 'rotate(0deg)'
card.style.maxHeight = null
})
function setData(mode) {
localStorage.setItem('/cache/list/action/state', mode)
return localStorage.getItem('/cache/list/action/state')
}

View File

@@ -1,6 +1,14 @@
import { fullScreen, exec, toast } from './kernelsu.js'
import { setNewLanguage, getTranslations } from './language.js'
const loading_screen = document.getElementById('loading_screen')
loading_screen.style.display = 'none'
let sys_lang = localStorage.getItem('/system/language')
if (!sys_lang) sys_lang = setLangData('en_US')
if (sys_lang !== 'en_US') await setNewLanguage(sys_lang, true)
(async () => {
const EXPECTED = 1
const UNEXPECTED_FAIL = 2
@@ -19,7 +27,7 @@ import { setNewLanguage, getTranslations } from './language.js'
const rootCss = document.querySelector(':root')
const rezygisk_state = document.getElementById('rezygisk_state')
const rezygisk_settings = document.getElementById('rezygisk_settings')
const rezygisk_action = document.getElementById('rezygisk_action')
const rezygisk_icon_state = document.getElementById('rezygisk_icon_state')
const code_version = document.getElementById('version_code')
@@ -90,13 +98,13 @@ import { setNewLanguage, getTranslations } from './language.js'
if (zygote32_status === EXPECTED && zygote64_status === EXPECTED) {
rezygisk_state.innerHTML = translations.infoCard.status.ok
rezygisk_settings.removeAttribute('style')
rezygisk_action.removeAttribute('style')
rootCss.style.setProperty('--bright', '#3a4857')
rezygisk_icon_state.innerHTML = '<img class="brightc" src="assets/tick.svg">'
} else if (zygote64_status === EXPECTED ^ zygote32_status.innerHTML === EXPECTED) {
rezygisk_state.innerHTML = translations.infoCard.status.partially
rezygisk_settings.removeAttribute('style')
rezygisk_action.removeAttribute('style')
rootCss.style.setProperty('--bright', '#766000')
rezygisk_icon_state.innerHTML = '<img class="brightc" src="assets/warn.svg">'
} else {

View File

@@ -6,20 +6,21 @@ import {
light_expand_icon,
light_module_icon,
light_settings_icon,
light_copy_icon
light_copy_icon,
light_action_icon
} from "./light.icon.js"
const rootCss = document.querySelector(':root')
const button = document.getElementById('theme_switcher')
/* INFO: Changes the icons to match the theme */
const module_list_icon = document.getElementById('modules_list_icon')
const module_expand = document.getElementById('module_expand_icon')
const settings_expand = document.getElementById('settings_expand_icon')
const settings_icon = document.getElementById('setting_icon')
const lang_switcher = document.getElementById('lang_switcher')
const logs_icon = document.getElementById('logs_icon')
const close_icons = document.getElementsByClassName('close_icon')
const expand_icons = document.getElementsByClassName('expander')
const copy_button = document.getElementById('errorh_copy')
const action_icon = document.getElementById('action_icon')
let sys_theme = localStorage.getItem('/system/theme')
if (!sys_theme) sys_theme = setData('dark')
@@ -49,14 +50,17 @@ function setDark() {
close_icon.innerHTML = '<img src="assets/close.svg">'
}
for (const expand_icon of expand_icons) {
expand_icon.innerHTML = '<img class="dimc" src="assets/expand.svg">'
}
settings_icon.innerHTML = '<img class="dimc" src="assets/settings.svg">'
module_expand.innerHTML = '<img class="dimc" src="assets/expand.svg">'
settings_expand.innerHTML = '<img class="dimc" src="assets/expand.svg">'
button.innerHTML = '<img src="assets/dark.svg">'
module_list_icon.innerHTML = '<img class="dimc" src="assets/module.svg">'
lang_switcher.innerHTML = '<img src="assets/lang.svg">'
logs_icon.innerHTML = '<img class="dimc" src="assets/error.svg">'
copy_button.innerHTML = '<img src="assets/content.svg">'
action_icon.innerHTML = '<img class="dimc" src="assets/action.svg">'
}
function setLight() {
@@ -75,14 +79,17 @@ function setLight() {
close_icon.innerHTML = light_close_icon
}
for (const expand_icon of expand_icons) {
expand_icon.innerHTML = light_expand_icon
}
settings_icon.innerHTML = light_settings_icon
module_expand.innerHTML = light_expand_icon
settings_expand.innerHTML = light_expand_icon
button.innerHTML = light_icon
module_list_icon.innerHTML = light_module_icon
lang_switcher.innerHTML = light_lang_icon
logs_icon.innerHTML = light_logs_icon
copy_button.innerHTML = light_copy_icon
action_icon.innerHTML = light_action_icon
}
function setData(mode) {

View File

@@ -22,14 +22,17 @@
"header": "Modules",
"arch": "Arch: "
},
"settings": {
"header": "Settings",
"action": {
"header": "Action",
"daemonButton": {
"start": "Start",
"stop": "Stop",
"exit": "Exit"
}
},
"settings": {
"header": "Settings"
},
"cmdErrors": {
"ptrace64": "Error while executing zygisk-ptrace64",
"ptrace32": "Error while executing zygisk-ptrace32",

View File

@@ -22,7 +22,7 @@
"header": "モジュール",
"arch": "アーキテクチャー: "
},
"settings": {
"action": {
"header": "設定",
"daemonButton": {
"start": "スタート",
@@ -30,6 +30,9 @@
"exit": "終了"
}
},
"settings": {
"header": "設定"
},
"cmdErrors": {
"ptrace64": "zygisk-ptrace64を実行している間にエラーが発生しました。",
"ptrace32": "zygisk-ptrace32を実行している間にエラーが発生しました。",

View File

@@ -22,14 +22,17 @@
"header": "Módulos",
"arch": "Arquitetura: "
},
"settings": {
"header": "Configurações",
"action": {
"header": "Ações",
"daemonButton": {
"start": "Iniciar",
"stop": "Parar",
"exit": "Sair"
}
},
"settings": {
"header": "Configurações"
},
"cmdErrors": {
"ptrace64": "Erro ao executar zygisk-ptrace64",
"ptrace32": "Erro ao executar zygisk-ptrace32",

View File

@@ -22,14 +22,17 @@
"header": "Module",
"arch": "Arhitectură: "
},
"settings": {
"header": "Setări",
"action": {
"header": "Action",
"daemonButton": {
"start": "Start",
"stop": "Stop",
"exit": "Ieșire"
}
},
"settings": {
"header": "Setări"
},
"cmdErrors": {
"ptrace64": "Eroare în timpul executării zygisk-ptrace64",
"ptrace32": "Eroare în timpul executării zygisk-ptrace32",

View File

@@ -22,14 +22,17 @@
"header": "Модули",
"arch": "Архи-ра: "
},
"settings": {
"header": "Настройки",
"action": {
"header": "Action",
"daemonButton": {
"start": "Старт",
"stop": "Пауза",
"exit": "Стоп"
}
},
"settings": {
"header": "Настройки"
},
"cmdErrors": {
"ptrace64": "Ошибка выполнения zygisk-ptrace64",
"ptrace32": "Ошибка выполнения zygisk-ptrace32",

View File

@@ -22,14 +22,17 @@
"header": "Mô Đun",
"arch": "Cấu trúc: "
},
"settings": {
"header": "Cài đặt",
"action": {
"header": "Trình điều khiển",
"daemonButton": {
"start": "Chạy",
"stop": "Dừng",
"exit": "Thoát"
}
},
"settings": {
"header": "Cài đặt"
},
"cmdErrors": {
"ptrace64": "Đã xảy ra lỗi khi chạy zygisk-ptrace64",
"ptrace32": "Đã xảy ra lỗi khi chạy zygisk-ptrace32",

View File

@@ -23,14 +23,17 @@
"header": "模块",
"arch": "架构: "
},
"settings": {
"header": "设置",
"action": {
"header": "Action",
"daemonButton": {
"start": "启动",
"stop": "停止",
"exit": "退出"
}
},
"settings": {
"header": "设置"
},
"cmdErrors": {
"ptrace64": "执行zygisk-ptrace64时出现错误",
"ptrace32": "执行zygisk-ptrace32时出现错误",

View File

@@ -24,14 +24,17 @@
"header": "模塊",
"arch": "架構: "
},
"settings": {
"header": "設定",
"action": {
"header": "Action",
"daemonButton": {
"start": "啟動",
"stop": "停止",
"exit": "退出"
}
},
"settings": {
"header": "設定"
},
"cmdErrors": {
"ptrace64": "執行zygisk-ptrace64時發生錯誤",
"ptrace32": "執行zygisk-ptrace32時發生錯誤",