This commit is contained in:
2026-03-04 21:05:21 +01:00
parent b04a404654
commit bd683597c9
6 changed files with 255 additions and 464 deletions

View File

@@ -1,21 +1,29 @@
(() => {
const toggles = document.querySelectorAll('[data-sidebar-toggle]');
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', () => {
document.body.classList.toggle('sidebar-collapsed');
layout?.classList.toggle('sidebar-open');
const collapsed = document.body.classList.contains('sidebar-collapsed');
localStorage.setItem('sidebar-collapsed', collapsed ? '1' : '0');
layout.classList.toggle('sidebar-open');
localStorage.setItem('sidebar-state', layout.classList.contains('sidebar-open') ? 'open' : 'collapsed');
});
});
const saved = localStorage.getItem('sidebar-collapsed');
const collapsed = (saved === null || saved === '1');
if (collapsed) {
document.body.classList.add('sidebar-collapsed');
layout?.classList.remove('sidebar-open');
} else {
layout?.classList.add('sidebar-open');
}
})();