UX: Offline-Pfote über FAB + nur in Welten sichtbar, SW by-v1080

- Position: bottom-right über dem #worlds-fab (right:20px, bottom-
  Berechnung folgt FAB + 12px Abstand). Gleiche horizontale Achse
  wie FAB → ergibt eine 'Pfoten-Säule' (Indikator oben, FAB unten)
- Sichtbarkeit per CSS-Sibling-Selektor:
  #worlds-overlay.worlds-visible ~ #offline-indicator { display:flex }
  → Indikator nur sichtbar wenn Welten aktiv sind. Auf Detail-Seiten
  (Tagebuch, Karte, Admin etc.) bleibt er aus.
- z-index 61 (eine Stufe über dem FAB, unter Modals)
This commit is contained in:
rene 2026-05-26 14:30:57 +02:00
parent 06b91dc54b
commit 521b7b6bee
5 changed files with 20 additions and 16 deletions

View file

@ -8867,13 +8867,15 @@ svg.empty-state-icon {
}
/* ============================================================
Offline-Bereitschafts-Indikator schwebend oben rechts
Offline-Bereitschafts-Indikator schwebend über dem Welten-FAB
Sichtbar NUR wenn Welten aktiv sind (Sibling-Selektor)
5 Pfade Score 0 (grau) bis 5 (grün, gefüllt)
============================================================ */
#offline-indicator {
display: none; /* Default: aus */
position: fixed;
top: calc(env(safe-area-inset-top, 0px) + 8px);
right: 12px;
right: 20px; /* gleicher right wie #worlds-fab */
bottom: calc(env(safe-area-inset-bottom, 16px) + 16px + 54px + 12px); /* FAB-Bottom + FAB-Höhe + 12px */
width: 40px;
height: 40px;
border-radius: 50%;
@ -8882,14 +8884,16 @@ svg.empty-state-icon {
-webkit-backdrop-filter: blur(6px);
border: 1px solid rgba(0,0,0,0.08);
box-shadow: 0 2px 8px rgba(0,0,0,0.12);
display: flex;
align-items: center;
justify-content: center;
padding: 0;
cursor: pointer;
z-index: 9000; /* unter Modals (~9999), über allem anderen */
z-index: 61; /* knapp über dem FAB (60), unter Modals */
transition: transform 0.12s, box-shadow 0.12s;
}
/* Welten aktiv → Indikator sichtbar */
#worlds-overlay.worlds-visible ~ #offline-indicator { display: flex; }
[data-theme="dark"] #offline-indicator {
background: rgba(31,41,55,0.85);
border-color: rgba(255,255,255,0.08);