layout
This commit is contained in:
@@ -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');
|
||||
}
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user