diff --git a/backend/main.py b/backend/main.py index 93cfdac..11f36b6 100644 --- a/backend/main.py +++ b/backend/main.py @@ -410,7 +410,7 @@ async def serve_media(path: str, request: _Request): raise _HE(404, "Nicht gefunden.") return _media_response(filepath) -APP_VER = "1005" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "1006" # muss mit APP_VER in app.js übereinstimmen @app.get("/.well-known/assetlinks.json") async def assetlinks(): diff --git a/backend/static/css/components.css b/backend/static/css/components.css index ccb087b..4198ce9 100644 --- a/backend/static/css/components.css +++ b/backend/static/css/components.css @@ -7886,7 +7886,7 @@ svg.empty-state-icon { position: fixed; bottom: calc(env(safe-area-inset-bottom, 0px) + 20px); top: auto; - left: 0; right: 80px; /* Platz für FAB rechts */ + left: 0; right: 0; display: flex; justify-content: center; gap: 8px; @@ -7912,47 +7912,28 @@ svg.empty-state-icon { } @media (min-width: 768px) { - /* Desktop: Nav wieder oben, Dots wieder sichtbar */ - #world-dots { - display: flex; - top: calc(env(safe-area-inset-top, 0px) + 14px); - bottom: auto; - } - #world-labels { - bottom: auto; - top: calc(env(safe-area-inset-top, 0px) + 28px); - right: 0; - gap: 40px; - } - .wlabel { - font-size: 13px; - letter-spacing: 0.18em; - opacity: 0.55; - padding: 6px 14px; - border-radius: 20px; - text-shadow: 0 1px 6px rgba(0,0,0,0.7); - } - .wlabel:hover { - opacity: 0.85; - background: rgba(255, 255, 255, 0.12); - } - .wlabel.active { - opacity: 1; - background: rgba(255, 255, 255, 0.18); - text-shadow: 0 1px 8px rgba(0,0,0,0.5); - backdrop-filter: none; - -webkit-backdrop-filter: none; - } - /* Desktop: Top-Padding wiederherstellen (Nav ist oben) */ + /* Desktop: Nav bleibt unten — nur Abstände anpassen */ .world-panel { - padding-top: calc(env(safe-area-inset-top, 0px) + 58px); + padding-top: calc(env(safe-area-inset-top, 0px) + 48px); } - /* Desktop: Chips nicht als Full-Width Bottom-Bar */ .world-chips-grid { max-width: 480px; margin-left: auto; margin-right: auto; } + #world-labels { + gap: 24px; + bottom: calc(env(safe-area-inset-bottom, 0px) + 22px); + } + .wlabel { + font-size: 12px; + letter-spacing: 0.14em; + padding: 7px 18px; + } + .wlabel:hover { + opacity: 0.85; + background: rgba(255, 255, 255, 0.12); + } } /* Settings-Button */ diff --git a/backend/static/index.html b/backend/static/index.html index 876463c..3069a3a 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -103,7 +103,7 @@ - + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index 773690f..78327fd 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '1005'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '1006'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; // Cache-Bust-Parameter nach Update-Reload sofort entfernen diff --git a/backend/static/sw.js b/backend/static/sw.js index 64901d7..3b5ff0c 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v1005'; +const CACHE_VERSION = 'by-v1006'; const CACHE_STATIC = `${CACHE_VERSION}-static`; const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache