Fix: Bottom-Nav iOS — window scrollt statt #page-content

position:fixed funktioniert auf iOS nur stabil wenn der window-scroll aktiv ist.
Innere Scroll-Container lassen fixed-Elemente während des Scrollens 'driften'.

- #page-content: overflow:visible (window scrollt)
- body.page-fullscreen: Klasse für Karte/Routen/Chat/Gassi/Sitting
  → dort overflow:hidden + interner Scroll wie bisher
- navigate(): setzt/entfernt page-fullscreen bei jedem Seitenwechsel
- SW by-v527, APP_VER 504
This commit is contained in:
rene 2026-04-30 07:43:11 +02:00
parent 61be87f29e
commit 359d46d9bc
3 changed files with 35 additions and 9 deletions

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
const APP_VER = '503'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VER = '504'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.0.0'; // ← semantische Version, wird bei make release gesetzt
const IS_STAGING = location.hostname === 'staging.banyaro.app';
@ -88,9 +88,14 @@ const App = (() => {
// ----------------------------------------------------------
// ROUTER
// ----------------------------------------------------------
const _FULLSCREEN_PAGES = new Set(['map', 'routes', 'walks', 'sitting', 'chat']);
function navigate(pageId, pushHistory = true, params = {}) {
if (!pages[pageId]) return;
// Vollbild-Seiten benötigen window-scroll deaktiviert (iOS fixed-nav Fix)
document.body.classList.toggle('page-fullscreen', _FULLSCREEN_PAGES.has(pageId));
// Aktive Seite ausblenden
document.querySelector('.page.active')?.classList.remove('active');
document.querySelectorAll('.nav-item.active, .sidebar-item.active')