add: clear all log button

This commit is contained in:
RainyXeon
2024-07-16 11:37:29 +07:00
committed by ThePedroo
parent 073a0673a0
commit 3c1af44edc
10 changed files with 45 additions and 12 deletions

View File

@@ -216,6 +216,7 @@ androidComponents.onVariants { variant ->
set.add(Pair(root.file("webroot/assets/error.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/action.svg").asFile, null))
set.add(Pair(root.file("webroot/assets/home.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/home.svg").asFile, null))
set.add(Pair(root.file("webroot/assets/delete.svg").asFile, null))
sig.initSign(privKey) sig.initSign(privKey)
set.forEach { it.first.sha(it.second) } set.forEach { it.first.sha(it.second) }
val signFile = root.file(name).asFile val signFile = root.file(name).asFile

View File

@@ -151,7 +151,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-Italic.ttf' "$MODPATH/webroot/fonts" true
extract "$ZIPFILE" 'webroot/fonts/ProductSans-Regular.ttf' "$MODPATH/webroot/fonts" true extract "$ZIPFILE" 'webroot/fonts/ProductSans-Regular.ttf' "$MODPATH/webroot/fonts" true
for svg in mark tick warn module expand settings close content error action home; do for svg in mark tick warn module expand settings close content error action home delete; do
extract "$ZIPFILE" "webroot/assets/${svg}.svg" "$MODPATH/webroot/assets" true extract "$ZIPFILE" "webroot/assets/${svg}.svg" "$MODPATH/webroot/assets" true
done done

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="40px" viewBox="0 -960 960 960" width="40px" fill="#e8eaed"><path d="M267.33-120q-27.5 0-47.08-19.58-19.58-19.59-19.58-47.09V-740H160v-66.67h192V-840h256v33.33h192V-740h-40.67v553.33q0 27-19.83 46.84Q719.67-120 692.67-120H267.33Zm425.34-620H267.33v553.33h425.34V-740Zm-328 469.33h66.66v-386h-66.66v386Zm164 0h66.66v-386h-66.66v386ZM267.33-740v553.33V-740Z"/></svg>

After

Width:  |  Height:  |  Size: 411 B

View File

@@ -252,6 +252,7 @@ a {
} }
.errorh_textarea { .errorh_textarea {
field-sizing: content;
resize: none; resize: none;
height: 100%; height: 100%;
width: 100%; width: 100%;

View File

@@ -12,9 +12,9 @@
<script src="js/daemon_actions.js" type="module"></script> <script src="js/daemon_actions.js" type="module"></script>
<script src="js/list/language.js" type="module"></script> <script src="js/list/language.js" type="module"></script>
<script src="js/switcher/fontChanger.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> <script src="js/modal/language.js" type="module"></script>
<script src="js/modal/errorHistory.js" type="module"></script> <script src="js/modal/errorHistory.js" type="module"></script>
<script src="js/main.js" type="module"></script>
<link rel="stylesheet" href="css/fonts.css"> <link rel="stylesheet" href="css/fonts.css">
<link rel="stylesheet" href="css/index.css"> <link rel="stylesheet" href="css/index.css">
@@ -49,14 +49,19 @@
<img src="assets/close.svg"> <img src="assets/close.svg">
</div> </div>
</div> </div>
<div style="padding-left: 25px; display: flex; align-items: center; justify-content: space-between; padding-right: 25px;"> <div style="margin: 0 25px 0 25px; display: flex; align-items: center; justify-content: space-between;">
<h1 id="errorh_modal_title">Error History</h1> <h1 id="errorh_modal_title">Error History</h1>
<div class="icon_animation" id="errorh_copy"> <div style="display: flex; align-items: center;">
<img src="assets/content.svg"> <div class="icon_animation" id="errorh_copy">
</div> <img src="assets/content.svg">
</div>
<div class="icon_animation" id="errorh_clear_all">
<img src="assets/delete.svg">
</div>
</div>
</div> </div>
<div style="margin-left: 25px; margin-right: 25px; height: 100%;"> <div style="margin-left: 25px; margin-right: 25px; height: fit-content;">
<textarea id="errorh_panel" disabled class="errorh_textarea" placeholder="No error log recorded here!"></textarea> <textarea id="errorh_panel" class="errorh_textarea" placeholder="No error log recorded here!" disabled></textarea>
</div> </div>
</div> </div>

View File

@@ -1,11 +1,18 @@
import { fullScreen, exec, toast } from './kernelsu.js' import { fullScreen, exec, toast } from './kernelsu.js'
import { setNewLanguage, getTranslations } from './language.js' import { setNewLanguage, getTranslations } from './language.js'
function setError(place, issue) { const loading_screen = document.getElementById('loading_screen')
toast(`${place}: ${issue}`) 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)
function setError(place, issue) {
const fullErrorLog = setErrorData(`${place}: ${issue}`) const fullErrorLog = setErrorData(`${place}: ${issue}`)
document.getElementById('errorh_panel').innerHTML = fullErrorLog document.getElementById('errorh_panel').innerHTML = fullErrorLog
toast(`${place}: ${issue}`)
} }
function setLangData(mode) { function setLangData(mode) {
@@ -17,7 +24,7 @@ function setLangData(mode) {
function setErrorData(errorLog) { function setErrorData(errorLog) {
const getPrevious = localStorage.getItem('/system/error') const getPrevious = localStorage.getItem('/system/error')
const finalLog = getPrevious && getPrevious.length !== 0 ? getPrevious + `\n` + errorLog : errorLog const finalLog = getPrevious && getPrevious.length !== 0 ? getPrevious + `\n` + errorLog : errorLog
localStorage.setItem('/system/error', finalLog) localStorage.setItem('/system/error', finalLog)
return finalLog return finalLog
} }
@@ -168,4 +175,6 @@ function setErrorData(errorLog) {
} else { } else {
setError('find', `Error while finding zygisk modules (${findModulesCmd.errno}): ${findModulesCmd.stderr}`) setError('find', `Error while finding zygisk modules (${findModulesCmd.errno}): ${findModulesCmd.stderr}`)
} }
})().catch((err) => setError('WebUI', err.stack ? err.stack : err.message)) })().catch((err) => setError('WebUI', err.stack ? err.stack : err.message))
if (window.onerror) window.onerror = (err) => setError('WebUI', err.stack ? err.stack : err.message)

View File

@@ -2,6 +2,7 @@ const button = document.getElementById('rezygisk_errorh')
const copy_button = document.getElementById('errorh_copy') const copy_button = document.getElementById('errorh_copy')
const target = document.getElementById('errorh_modal') const target = document.getElementById('errorh_modal')
const close_button = document.getElementById('errorh_modal_close') const close_button = document.getElementById('errorh_modal_close')
const clearall_button = document.getElementById('errorh_clear_all')
const panel = document.getElementById('errorh_panel') const panel = document.getElementById('errorh_panel')
let sys_module_mode = localStorage.getItem('/cache/modal/error_history/state') let sys_module_mode = localStorage.getItem('/cache/modal/error_history/state')
@@ -23,6 +24,11 @@ copy_button.addEventListener('click', () => {
navigator.clipboard.writeText(panel.innerHTML) navigator.clipboard.writeText(panel.innerHTML)
}) })
clearall_button.addEventListener('click', () => {
panel.innerHTML = ''
localStorage.setItem('/system/error', '')
})
function setData(mode) { function setData(mode) {
localStorage.setItem('/cache/modal/error_history/state', mode) localStorage.setItem('/cache/modal/error_history/state', mode)

View File

@@ -6,6 +6,7 @@ const rootCss = document.querySelector(':root')
const close_icons = document.getElementsByClassName('close_icon') const close_icons = document.getElementsByClassName('close_icon')
const expand_icons = document.getElementsByClassName('expander') const expand_icons = document.getElementsByClassName('expander')
const copy_button = document.getElementById('errorh_copy') const copy_button = document.getElementById('errorh_copy')
const clearall_button = document.getElementById('errorh_clear_all')
export function setDark() { export function setDark() {
rootCss.style.setProperty('--background', '#181c20') rootCss.style.setProperty('--background', '#181c20')
@@ -28,6 +29,7 @@ export function setDark() {
} }
copy_button.innerHTML = '<img src="assets/content.svg">' copy_button.innerHTML = '<img src="assets/content.svg">'
clearall_button.innerHTML = '<img src="assets/delete.svg">'
setDarkNav() setDarkNav()
} }

View File

@@ -2,6 +2,7 @@ import {
light_close_icon, light_close_icon,
light_expand_icon, light_expand_icon,
light_copy_icon, light_copy_icon,
light_clear_icon,
} from './lightIcon.js' } from './lightIcon.js'
import { setLightNav } from './lightNavbar.js' import { setLightNav } from './lightNavbar.js'
@@ -11,6 +12,7 @@ const rootCss = document.querySelector(':root')
const close_icons = document.getElementsByClassName('close_icon') const close_icons = document.getElementsByClassName('close_icon')
const expand_icons = document.getElementsByClassName('expander') const expand_icons = document.getElementsByClassName('expander')
const copy_button = document.getElementById('errorh_copy') const copy_button = document.getElementById('errorh_copy')
const clearall_button = document.getElementById('errorh_clear_all')
export function setLight() { export function setLight() {
rootCss.style.setProperty('--background', '#eff1f6') rootCss.style.setProperty('--background', '#eff1f6')
@@ -33,6 +35,7 @@ export function setLight() {
} }
copy_button.innerHTML = light_copy_icon copy_button.innerHTML = light_copy_icon
clearall_button.innerHTML = light_clear_icon
setLightNav() setLightNav()
} }

View File

@@ -18,6 +18,11 @@ export const light_copy_icon = `
<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"/> <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> </svg>
` `
export const light_clear_icon = `
<svg xmlns="http://www.w3.org/2000/svg" height="40px" viewBox="0 -960 960 960" width="40px" fill="#2c2c2c">
<path d="M267.33-120q-27.5 0-47.08-19.58-19.58-19.59-19.58-47.09V-740H160v-66.67h192V-840h256v33.33h192V-740h-40.67v553.33q0 27-19.83 46.84Q719.67-120 692.67-120H267.33Zm425.34-620H267.33v553.33h425.34V-740Zm-328 469.33h66.66v-386h-66.66v386Zm164 0h66.66v-386h-66.66v386ZM267.33-740v553.33V-740Z"/>
</svg>
`
export const light_module_icon = (inside) => ` export const light_module_icon = (inside) => `
<svg ${inside ? 'style="background-color: var(--small-card);"' : ''} class="dimc" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#2c2c2c"> <svg ${inside ? 'style="background-color: var(--small-card);"' : ''} class="dimc" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#2c2c2c">
<path d="M627-520h133v-160H627v160Zm-214 0h133v-160H413v160Zm-213 0h133v-160H200v160Zm0 240h133v-160H200v160Zm213 0h133v-160H413v160Zm214 0h133v-160H627v160Zm-507 0v-400q0-33 23.5-56.5T200-760h560q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H200q-33 0-56.5-23.5T120-280Z"/> <path d="M627-520h133v-160H627v160Zm-214 0h133v-160H413v160Zm-213 0h133v-160H200v160Zm0 240h133v-160H200v160Zm213 0h133v-160H413v160Zm214 0h133v-160H627v160Zm-507 0v-400q0-33 23.5-56.5T200-760h560q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H200q-33 0-56.5-23.5T120-280Z"/>