diff --git a/backend/main.py b/backend/main.py index 6a1aec1..963347b 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 = "1001" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "1002" # 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 976aef5..3066e76 100644 --- a/backend/static/css/components.css +++ b/backend/static/css/components.css @@ -8061,8 +8061,8 @@ svg.empty-state-icon { /* Oberer Bereich: Info + Reminders */ .world-top { display: flex; flex-direction: column; gap: 10px; } -/* Unterer Bereich: Chips (Daumen-Zone) */ -.world-bottom { display: flex; flex-direction: column; gap: 8px; } +/* Unterer Bereich: Chips (Daumen-Zone) — kompakt, ganz unten */ +.world-bottom { display: flex; flex-direction: column; gap: 5px; } /* Frosted-Glass Info-Card (oben in jeder Welt) */ .world-info-card { @@ -8107,9 +8107,8 @@ svg.empty-state-icon { .world-chips-grid { display: grid; grid-template-columns: repeat(4, 1fr); - grid-auto-rows: 80px; /* alle Chips gleich hoch */ - gap: 8px; - margin-top: auto; + grid-auto-rows: 74px; + gap: 7px; } /* Einzelner Chip: Frosted Glass */ @@ -8130,7 +8129,7 @@ svg.empty-state-icon { transition: background 0.12s, transform 0.1s; -webkit-tap-highlight-color: transparent; user-select: none; - min-height: 80px; /* alle Chips gleich hoch */ + min-height: 74px; } .world-chip:active { background: rgba(0, 0, 0, 0.6); @@ -8209,10 +8208,10 @@ svg.empty-state-icon { /* Footer-Links (Impressum / Die 100 / Datenschutz) */ .world-footer-links { text-align: center; - padding: 10px 0 2px; + padding: 4px 0 0; } .world-footer-links span { - font-size: 11px; + font-size: 10px; color: rgba(255, 255, 255, 0.6); cursor: pointer; letter-spacing: 0.05em; diff --git a/backend/static/index.html b/backend/static/index.html index c6653b5..aa9d32c 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 15d5876..96bdb23 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 = '1001'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '1002'; // ← 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/js/worlds.js b/backend/static/js/worlds.js index aad758e..732fd1e 100644 --- a/backend/static/js/worlds.js +++ b/backend/static/js/worlds.js @@ -1199,7 +1199,6 @@ window.Worlds = (() => { ` : ''}
-
Deine Bereiche
${features.map(f => _chip(f.icon, f.label, f.page, false, false, false)).join('')}
@@ -1491,7 +1490,6 @@ window.Worlds = (() => {
` : ''} -
Alles über ${_esc(dog.name)}
${chips.map(c => _chip(c.icon, c.label, c.page, false, false, false)).join('')}
@@ -1665,7 +1663,6 @@ window.Worlds = (() => {
-
Die Welt da draußen
${chips.map(c => _chip(c.icon, c.label, c.page, false, false, false)).join('')}
diff --git a/backend/static/sw.js b/backend/static/sw.js index 9c8a92f..ebf1978 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-v1001'; +const CACHE_VERSION = 'by-v1002'; 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