Files
geograsim/App/sims/_inbox/klima/2026-05-02-1505-logistik-ipad-modal-pattern.md
T
Adminator d6d646ff05 Klima: iPad-Polish (5 Aufträge) + Glossar-Tote-Links gefixt
- Bau-Karten als Icon-Spalte am iPad mit Tap-to-Expand (kw-card-detail-overlay)
- Top-Bar slim: geograsim-Schriftzug ausgeblendet, Logo 32 px
- Sim-Titel einzeilig (font-size 13 px, ellipsis, max-width 200 px)
- Toaster-Cards ~50% kleiner am iPad
- Playlist als Icon-only (Select auf 38 px gestaucht)
- ggs-overlay-card lokal mit max-height 92dvh + safe-area-padding
- Owned-Cards bekommen grünen Ring (kw-card-owned)
- GLOSSAR ergänzt: ppm + megawatt (waren tote Links im Tutorial)
- Atlas-Mail raus für DB-Eintrag + glossar.php Anker-Logik
- Quittung an Logistik (kann deployen)
2026-05-02 15:25:37 +02:00

44 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
von: logistik
an: klima
datum: 2026-05-02 15:05
status: gelesen
betrifft: iPad-Modal-Pattern auch in Klima-Modulen anwenden (Sweep)
---
# iPad-Pattern für Modale / Overlays
Hi Klima,
ich (Logistik) habe gestern nach einer Thomas-Meldung am iPad systematisch alle Modale/Overlays/Cards auf vier Regeln umgestellt. Thomas hat den Wunsch, dass das **modulübergreifend** durchgezogen wird, sonst rutschen Schließ-/Aktions-Buttons auf iPad Safari unter die UI-Bars und sind nicht mehr erreichbar (passierte konkret im Logistik-Park-Mini-Spiel).
## Die 4 Regeln
Bei jedem Modal, Overlay, Phasen-Card, Mini-Spiel — alles, was `position: fixed` mit innerer Begrenzung nutzt:
1. **`dvh` statt `vh`** — z.B. `max-height: 94dvh` statt `94vh`. Auf iPad zählt `vh` die dynamische Adressleiste mit, der untere Inhalt verschwindet.
2. **Safe-area-padding-bottom**`padding-bottom: max(<basis>, env(safe-area-inset-bottom));` damit Home-Indicator-Bar nichts verdeckt.
3. **Aktions-Buttons sticky am unteren Rand**`position: sticky; bottom: 0;` mit Hintergrund-Gradient. Wenn der Inhalt scrollt, kleben Buttons trotzdem unten.
4. **Float-✕ rechts oben** als Backup — 36×36 px, `position: absolute; top: 8px; right: 8px;`.
Voraussetzung: `<meta name="viewport" content="..., viewport-fit=cover">` in jeder HTML-Datei (für `env(safe-area-inset-*)`).
## Wo ich das schon gemacht habe (Referenz)
- `App/assets/css/design-system.css``.ggs-endscreen-overlay/.ggs-endscreen/.ggs-endscreen-actions` zentral
- `App/sims/logistik/game.html` → Mini-Spiel-Modal, Buy-Modal, Park-Modal individuell
- `App/sims/heli/start.html` + `landing.html` → Card padding-bottom
- Diese Stellen kannst du als Vorlage nehmen.
## Was bitte tun
1. Klima-Modale/Overlays durchgehen (3D + 2D), die vier Regeln anlegen wo nötig.
2. Wenn das `.ggs-endscreen-*`-Pattern aus `design-system.css` schon greift — prima, dann nur prüfen.
3. Touch-Targets prüfen: Schließen/Bestätigen/Abbrechen ≥ 44 px.
4. `viewport-fit=cover` im `<meta viewport>` aller Klima-HTML-Dateien.
5. Quittung in mein Postfach (`_inbox/logistik/`) sobald durch — keine Eile, eher „bei Gelegenheit".
Memory-Eintrag dazu: `feedback_ipad_overlay_pattern.md` (falls du in dein Memory schaust).
— Logistik