Fix: Karte-Höhe via JS, events Leaflet-Pfad, Hamburger-Menü mobile Drawer

This commit is contained in:
rene 2026-04-14 16:47:21 +02:00
parent 0438bd6bfe
commit d4c3f159d5
6 changed files with 107 additions and 3 deletions

View file

@ -150,11 +150,30 @@ const App = (() => {
// + Button (Mobile Bottom-Nav + Desktop Sidebar)
if (e.target.closest('#nav-add') || e.target.closest('#sidebar-add')) {
_showQuickAdd();
return;
}
// Hamburger-Menü (Mobile)
if (e.target.closest('#header-menu-btn')) {
_toggleSidebar();
return;
}
// Backdrop → Sidebar schließen
if (e.target.closest('#sidebar-backdrop')) {
_closeSidebar();
return;
}
// Sidebar-Item auf Mobile → schließen nach Navigation
if (e.target.closest('#sidebar .sidebar-item')) {
_closeSidebar();
}
});
// Browser Back/Forward
window.addEventListener('popstate', e => {
_closeSidebar();
const page = e.state?.page || 'diary';
navigate(page, false);
});
@ -163,6 +182,26 @@ const App = (() => {
// damit kein doppelter _loadPage()-Aufruf entsteht.
}
// ----------------------------------------------------------
// MOBILE SIDEBAR DRAWER
// ----------------------------------------------------------
function _toggleSidebar() {
const sidebar = document.getElementById('sidebar');
const backdrop = document.getElementById('sidebar-backdrop');
const isOpen = sidebar?.classList.contains('open');
isOpen ? _closeSidebar() : _openSidebar();
}
function _openSidebar() {
document.getElementById('sidebar')?.classList.add('open');
document.getElementById('sidebar-backdrop')?.classList.add('visible');
}
function _closeSidebar() {
document.getElementById('sidebar')?.classList.remove('open');
document.getElementById('sidebar-backdrop')?.classList.remove('visible');
}
// ----------------------------------------------------------
// SCHNELL-HINZUFÜGEN (+ Button)
// ----------------------------------------------------------