| async function loadAdminHeader() { |
| const container = document.getElementById('app-header'); |
| if (!container) return; |
| try { |
| const res = await fetch('/static/common/html/header.html?v=1.5.0'); |
| if (!res.ok) return; |
| container.innerHTML = await res.text(); |
| const path = window.location.pathname; |
| const links = container.querySelectorAll('a[data-nav]'); |
| links.forEach((link) => { |
| const target = link.getAttribute('data-nav') || ''; |
| if (target && path.startsWith(target)) { |
| link.classList.add('active'); |
| const group = link.closest('.nav-group'); |
| if (group) { |
| const trigger = group.querySelector('.nav-group-trigger'); |
| if (trigger) { |
| trigger.classList.add('active'); |
| } |
| } |
| } |
| }); |
| if (typeof updateStorageModeButton === 'function') { |
| updateStorageModeButton(); |
| } |
| } catch (e) { |
| |
| } |
| } |
|
|
| if (document.readyState === 'loading') { |
| document.addEventListener('DOMContentLoaded', loadAdminHeader); |
| } else { |
| loadAdminHeader(); |
| } |
|
|