Files
nexus/public/assets/js/app.js
2026-03-04 21:05:21 +01:00

30 lines
925 B
JavaScript
Executable File

(() => {
const layout = document.querySelector('.layout-body');
if (!layout) return;
const enabled = layout.dataset.sidebarEnabled === '1';
const collapsible = layout.dataset.sidebarCollapsible === '1';
const defaultState = layout.dataset.sidebarDefault || 'collapsed';
const toggles = document.querySelectorAll('[data-sidebar-toggle]');
if (!enabled || !collapsible) {
toggles.forEach((t) => t.remove());
return;
}
const saved = localStorage.getItem('sidebar-state');
const initial = saved || defaultState;
if (initial === 'open') {
layout.classList.add('sidebar-open');
} else {
layout.classList.remove('sidebar-open');
}
toggles.forEach((toggle) => {
toggle.addEventListener('click', () => {
layout.classList.toggle('sidebar-open');
localStorage.setItem('sidebar-state', layout.classList.contains('sidebar-open') ? 'open' : 'collapsed');
});
});
})();