Layout: Footer-Links absolut positioniert, Chips dichter am FAB
- .world-panel: bottom-padding 88→76px, position:relative als Anker - .world-footer-links: position:absolute bottom:safe-area+4px — nimmt keinen Platz im Fluss mehr ein, klebt am unteren Bildschirmrand - Chips sitzen jetzt näher am FAB, Hintergrundbild bekommt mehr Raum - components.css ?v=1002, SW by-v1003, APP_VER 1003
This commit is contained in:
parent
a8c63e87da
commit
d03e49800d
5 changed files with 10 additions and 6 deletions
|
|
@ -410,7 +410,7 @@ async def serve_media(path: str, request: _Request):
|
||||||
raise _HE(404, "Nicht gefunden.")
|
raise _HE(404, "Nicht gefunden.")
|
||||||
return _media_response(filepath)
|
return _media_response(filepath)
|
||||||
|
|
||||||
APP_VER = "1002" # muss mit APP_VER in app.js übereinstimmen
|
APP_VER = "1003" # muss mit APP_VER in app.js übereinstimmen
|
||||||
|
|
||||||
@app.get("/.well-known/assetlinks.json")
|
@app.get("/.well-known/assetlinks.json")
|
||||||
async def assetlinks():
|
async def assetlinks():
|
||||||
|
|
|
||||||
|
|
@ -8042,11 +8042,12 @@ svg.empty-state-icon {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between; /* Info oben, Chips unten */
|
justify-content: space-between; /* Info oben, Chips unten */
|
||||||
padding: calc(env(safe-area-inset-top, 0px) + 58px) 14px
|
padding: calc(env(safe-area-inset-top, 0px) + 58px) 14px
|
||||||
calc(env(safe-area-inset-bottom, 0px) + 88px);
|
calc(env(safe-area-inset-bottom, 0px) + 76px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
overscroll-behavior-y: contain;
|
overscroll-behavior-y: contain;
|
||||||
|
position: relative; /* Anker für absolut positionierte Footer-Links */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Content-Divs füllen den Panel und verteilen Top/Bottom */
|
/* Content-Divs füllen den Panel und verteilen Top/Bottom */
|
||||||
|
|
@ -8207,8 +8208,11 @@ svg.empty-state-icon {
|
||||||
|
|
||||||
/* Footer-Links (Impressum / Die 100 / Datenschutz) */
|
/* Footer-Links (Impressum / Die 100 / Datenschutz) */
|
||||||
.world-footer-links {
|
.world-footer-links {
|
||||||
|
position: absolute;
|
||||||
|
bottom: calc(env(safe-area-inset-bottom, 0px) + 4px);
|
||||||
|
left: 0; right: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 4px 0 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
.world-footer-links span {
|
.world-footer-links span {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
|
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
|
||||||
<link rel="stylesheet" href="/css/design-system.css?v=907">
|
<link rel="stylesheet" href="/css/design-system.css?v=907">
|
||||||
<link rel="stylesheet" href="/css/layout.css?v=973">
|
<link rel="stylesheet" href="/css/layout.css?v=973">
|
||||||
<link rel="stylesheet" href="/css/components.css?v=1001">
|
<link rel="stylesheet" href="/css/components.css?v=1002">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
Router, State-Management, Navigation, Initialisierung.
|
Router, State-Management, Navigation, Initialisierung.
|
||||||
============================================================ */
|
============================================================ */
|
||||||
|
|
||||||
const APP_VER = '1002'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
const APP_VER = '1003'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||||
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
|
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
|
||||||
const IS_STAGING = location.hostname === 'staging.banyaro.app';
|
const IS_STAGING = location.hostname === 'staging.banyaro.app';
|
||||||
// Cache-Bust-Parameter nach Update-Reload sofort entfernen
|
// Cache-Bust-Parameter nach Update-Reload sofort entfernen
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
Offline-Cache + Push Notifications + Tile-Cache
|
Offline-Cache + Push Notifications + Tile-Cache
|
||||||
============================================================ */
|
============================================================ */
|
||||||
|
|
||||||
const CACHE_VERSION = 'by-v1002';
|
const CACHE_VERSION = 'by-v1003';
|
||||||
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
||||||
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
||||||
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache
|
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue