[verified] refactor: harden operations and redesign device console
This commit is contained in:
@@ -1,10 +1,15 @@
|
||||
export const VIEW_IDS = Object.freeze(['home', 'detail', 'rawpage', 'api'])
|
||||
export function resolveView(view, hasActiveInstance = false) {
|
||||
if (!hasActiveInstance && view !== 'home') return 'home'
|
||||
return VIEW_IDS.includes(view) ? view : hasActiveInstance ? 'detail' : 'home'
|
||||
}
|
||||
export function createViewRouter({ panels, controls, storage = globalThis.localStorage } = {}) {
|
||||
return view => {
|
||||
for (const control of controls()) control.classList.toggle('active', control.dataset.view === view)
|
||||
for (const control of controls()) {
|
||||
const active = control.dataset.view === view
|
||||
control.classList.toggle('active', active)
|
||||
if (active) control.setAttribute?.('aria-current', 'page'); else control.removeAttribute?.('aria-current')
|
||||
}
|
||||
for (const panel of panels()) panel.classList.toggle('active', panel.id === `${view}View`)
|
||||
storage?.setItem('multi-simadmin-view', view)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user