add: new cache state storing and handling

This commit is contained in:
RainyXeon
2024-10-21 20:07:53 +07:00
committed by ThePedroo
parent 73acecaa9d
commit a0d79875ea
7 changed files with 57 additions and 27 deletions

View File

@@ -1,11 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="initial-scale=1, width=device-width" />
<meta name="viewport" content="viewport-fit=cover" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta id="cache-navbar-previous" />
<meta id="cache-page-small-previous" />
<meta id="cache-modal-error-history-state" />
<link rel="stylesheet" href="fonts/outfit.css">
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="css/error.css">

View File

@@ -43,7 +43,6 @@ export async function getTranslations(locate) {
return translateData.json()
}
/* INFO: This list is in alphabetical order. */
export async function getAvailableLanguages() {
const lsCmd = await exec('ls /data/adb/modules/zygisksu/webroot/lang')

View File

@@ -5,32 +5,33 @@ const target = document.getElementById('errorh_modal')
const close_button = document.getElementById('errorh_modal_close')
const clearall_button = document.getElementById('errorh_clear_all')
const panel = document.getElementById('errorh_panel')
const error_history_data_state = document.getElementById('cache-modal-error-history-state')
let sys_module_mode = localStorage.getItem('/cache/modal/error_history/state')
sys_module_mode = setData('closed')
let sys_module_mode = error_history_data_state.getAttribute('content')
sys_module_mode = setData('closed', error_history_data_state)
button.addEventListener('click', () => {
target.style.top = '0%'
sys_module_mode = setData('opened')
sys_module_mode = setData('opened', error_history_data_state)
})
backport.addEventListener('click', () => {
if (sys_module_mode == 'opened') {
target.style.top = '100%'
sys_module_mode = setData('closed')
sys_module_mode = setData('closed', error_history_data_state)
return
}
target.style.top = '0%'
sys_module_mode = setData('opened')
sys_module_mode = setData('opened', error_history_data_state)
})
close_button.addEventListener('click', () => {
target.style.top = '100%'
sys_module_mode = setData('closed')
sys_module_mode = setData('closed', error_history_data_state)
})
copy_button.addEventListener('click', () => {
@@ -42,8 +43,8 @@ clearall_button.addEventListener('click', () => {
localStorage.setItem('/system/error', '')
})
function setData(mode) {
localStorage.setItem('/cache/modal/error_history/state', mode)
function setData(mode, tag) {
tag.setAttribute('content', mode)
return mode
}

View File

@@ -1,4 +1,7 @@
setData('home')
const navbar_data_tag = document.getElementById('cache-navbar-previous')
const small_panel_data_tag = document.getElementById('cache-page-small-previous')
setData('home', navbar_data_tag)
document.getElementById('panel_home').classList.toggle('show')
document.getElementById(`nibg_home`).classList.toggle('show')
@@ -6,14 +9,17 @@ document.getElementById(`nibg_home`).classList.toggle('show')
document.querySelectorAll('[name=navbutton]').forEach((element) => {
element.addEventListener('click', (event) => {
let smallPagePass = false
const value = event.target.value
const previous = !localStorage.getItem('/cache/navbar/previous') ? setData('home') : localStorage.getItem('/cache/navbar/previous')
const small_panel = localStorage.getItem('/cache/page/small/previous')
const value = event.target.value
const previous = !navbar_data_tag.getAttribute('content')
? setData('home', navbar_data_tag)
: navbar_data_tag.getAttribute('content')
const small_panel = small_panel_data_tag.getAttribute('content')
if (small_panel && small_panel.length !== 0) {
document.getElementById(`small_panel_${small_panel}`).classList.remove('show')
localStorage.removeItem('/cache/page/small/previous')
small_panel_data_tag.removeAttribute('content')
smallPagePass = true
}
@@ -35,12 +41,12 @@ document.querySelectorAll('[name=navbutton]').forEach((element) => {
curr_input.setAttribute('checked', '')
i_background.classList.toggle('show')
setData(value)
setData(value, navbar_data_tag)
})
})
function setData(data) {
localStorage.setItem('/cache/navbar/previous', data)
function setData(data, tag) {
tag.setAttribute('content', data)
return data
}

View File

@@ -28,11 +28,14 @@ async function setAvailableLanguage() {
setAvailableLanguage()
/* INFO: Event setup */
const navbar_data_tag = document.getElementById('cache-navbar-previous')
const small_panel_data_tag = document.getElementById('cache-page-small-previous')
document.getElementById('lang_page_toggle').addEventListener('click', () => {
const previous = !localStorage.getItem('/cache/navbar/previous') ? setData('home') : localStorage.getItem('/cache/navbar/previous')
const previous = !navbar_data_tag.getAttribute('content') ? setData('home', small_panel_data_tag) : navbar_data_tag.getAttribute('content')
document.getElementById(`panel_${previous}`).classList.remove('show')
document.getElementById('small_panel_language').classList.toggle('show')
localStorage.setItem('/cache/page/small/previous', 'language')
small_panel_data_tag.setAttribute('content', 'language')
})
document.getElementById('sp_lang_close').addEventListener('click', () => smallPageDisabler('language', 'settings'))
@@ -45,4 +48,10 @@ document.addEventListener('click', async (event) => {
await setNewLanguage(getLangLocate)
localStorage.setItem('/system/language', getLangLocate)
}, false)
}, false)
function setData(data, tag) {
tag.setAttribute('content', data)
return data
}

View File

@@ -29,6 +29,9 @@ if (!sys_theme) sys_theme = setData('dark')
themeList[sys_theme](true)
// INFO: Event logic
const navbar_data_tag = document.getElementById('cache-navbar-previous')
const small_panel_data_tag = document.getElementById('cache-page-small-previous')
document.getElementById('sp_theme_close').addEventListener('click', () => smallPageDisabler('theme', 'settings'))
document.addEventListener('click', async (event) => {
@@ -45,10 +48,10 @@ document.addEventListener('click', async (event) => {
}, false)
page_toggle.addEventListener('click', () => {
const previous = !localStorage.getItem('/cache/navbar/previous') ? setData('home') : localStorage.getItem('/cache/navbar/previous')
const previous = !navbar_data_tag.getAttribute('content') ? setTagData('home', small_panel_data_tag) : navbar_data_tag.getAttribute('content')
document.getElementById(`panel_${previous}`).classList.remove('show')
document.getElementById('small_panel_theme').classList.toggle('show')
localStorage.setItem('/cache/page/small/previous', 'theme')
small_panel_data_tag.setAttribute('content', 'theme')
})
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
@@ -64,3 +67,9 @@ window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', eve
break
}
});
function setTagData(data, tag) {
tag.setAttribute('content', data)
return data
}

View File

@@ -1,8 +1,11 @@
export function smallPageDisabler(page_name, new_page) {
document.getElementById(`small_panel_${page_name}`).classList.remove('show')
localStorage.removeItem('/cache/page/small/previous')
const navbar_data_tag = document.getElementById('cache-navbar-previous')
const small_panel_data_tag = document.getElementById('cache-page-small-previous')
const previous = localStorage.getItem('/cache/navbar/previous')
document.getElementById(`small_panel_${page_name}`).classList.remove('show')
small_panel_data_tag.removeAttribute('content')
const previous = navbar_data_tag.getAttribute('content')
/* INFO: Disable icon on old state */
const pre_input = document.getElementById(`n_${previous}`)
@@ -19,5 +22,5 @@ export function smallPageDisabler(page_name, new_page) {
curr_input.setAttribute('checked', '')
i_background.classList.toggle('show')
localStorage.setItem('/cache/navbar/previous', 'settings')
navbar_data_tag.setAttribute('content', 'settings')
}