m
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
</script>
|
||||
<div class="app-layout">
|
||||
<!-- Mobile overlay (click outside to close) -->
|
||||
<div id="sidebar-overlay" class="fixed inset-0 bg-black/30 hidden" aria-hidden="true"></div>
|
||||
<div id="sidebar-overlay" class="fixed inset-0 bg-black/30 backdrop-blur-sm hidden transition-opacity duration-200" aria-hidden="true"></div>
|
||||
<!-- Sidebar Component -->
|
||||
<x-sidebar />
|
||||
|
||||
@@ -121,12 +121,17 @@
|
||||
function openSidebar() {
|
||||
sidebar.classList.remove('-translate-x-full');
|
||||
overlay.classList.remove('hidden');
|
||||
overlay.classList.add('opacity-100');
|
||||
document.body.style.overflow = 'hidden';
|
||||
}
|
||||
|
||||
function closeSidebar() {
|
||||
sidebar.classList.add('-translate-x-full');
|
||||
overlay.classList.add('hidden');
|
||||
overlay.classList.remove('opacity-100');
|
||||
// after transition, hide overlay
|
||||
setTimeout(() => {
|
||||
overlay.classList.add('hidden');
|
||||
}, 200);
|
||||
document.body.style.overflow = '';
|
||||
}
|
||||
|
||||
@@ -140,6 +145,12 @@
|
||||
});
|
||||
closeBtn.addEventListener('click', closeSidebar);
|
||||
overlay.addEventListener('click', closeSidebar);
|
||||
// ESC key to close sidebar
|
||||
document.addEventListener('keydown', function (e) {
|
||||
if (e.key === 'Escape' && !overlay.classList.contains('hidden')) {
|
||||
closeSidebar();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Client-side flash message support
|
||||
|
||||
Reference in New Issue
Block a user