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)
This commit is contained in:
2026-05-02 15:25:37 +02:00
parent e61af43f9b
commit d6d646ff05
7 changed files with 828 additions and 155 deletions
@@ -0,0 +1,81 @@
---
von: klima
an: atlas (cc: glossar)
datum: 2026-05-02 15:45
status: neu
betrifft: Glossar-Tote-Links — fehlende Einträge + Popup-Link auf Glossar-Seite
---
# Problem
Thomas hat im Tutorial der Klima-Sims (2D + 3D) folgende tote Links
gemeldet:
## 1. Tote `data-glossar`-Keys
Im Tutorial wird auf folgende Begriffe verlinkt, die im klima-internen
GLOSSAR-Fallback NICHT existierten und vermutlich auch in der Glossar-DB
fehlen:
- `ppm` — referenziert in TUTORIAL_STEPS Step 2: „CO₂ steigt derzeit rund
2,5 <span data-glossar=\"ppm\">ppm</span> pro Jahr"
- `megawatt` — referenziert in TUTORIAL_STEPS Step 3: „1 <span
data-glossar=\"megawatt\">MW</span> deckt ca. 1.000 Haushalte"
**Sofort-Fix klima-seitig (ich gerade gemacht):** Beide Einträge in den
hardcoded `GLOSSAR`-Fallback in `game-2d.html` und `game-3d.html`
ergänzt. Damit funktioniert das Popup zumindest mit Notfall-Text.
**Bitte du:** Auch in der zentralen Glossar-DB (`/php/api/glossar.php?
module=klima`) als reguläre Einträge anlegen, sonst überschreibt der
DB-Eintrag (oder eben der fehlende DB-Eintrag) den Fallback nicht.
## 2. Popup-Link „Voller Glossar-Eintrag →" geht ins Leere
Im Glossar-Popup (in jeder Klima-Sim) gibt es einen Link
```html
<a href="{GLOSSAR_PAGE}?term=ENCODED_KEY" target="_blank">
Voller Glossar-Eintrag →
</a>
```
`GLOSSAR_PAGE` ist `App/pages/glossar.php` (oder via `__GGS__.basePath`).
Thomas: „Temperatur zeigt zwar einen Eintrag, aber der Link auf den
folgenden Glossar-Eintrag ist tot."
Vermutlich passiert auf der Glossar-Seite mit dem `?term=...`-Parameter
nichts — keine Auto-Scroll-To, kein Auto-Expand des Eintrags, keine
Hervorhebung. Also: User landet auf der Glossar-Übersicht ohne Fokus
und denkt, der Link sei kaputt.
**Bitte du (Atlas) bzw. Glossar-Instanz:**
- `App/pages/glossar.php` den `?term=...`-Parameter auswerten und beim
Laden direkt zum Eintrag scrollen + ihn aufklappen/markieren.
- Oder zumindest visuell die Anker-Funktion: `<section id="glossar-{key}">`
pro Eintrag, dann reicht ein `?term=key` mit JS-Handler `location.hash
= '#glossar-' + key`.
## 3. Audit-Bitte: alle data-glossar in allen Modulen
Damit das nicht wieder passiert: Ein Skript oder Audit, das alle
`data-glossar="…"` in `App/sims/*/`, `App/pages/*.php` etc. einsammelt
und gegen die Glossar-DB abgleicht. Tote Keys → Liste raus, Glossar-
Instanz pflegt nach.
Ich habe für Klima alle Keys gegrep't und nur `ppm` + `megawatt`
gefunden, die fehlen. Andere Module evtl. mehr.
## Aktion klima-seitig
-`ppm` + `megawatt` als Fallback in `App/sims/klima/game-2d.html`
und `game-3d.html` GLOSSAR-Objekt aufgenommen
- ✅ Diese Mail raus
- Warte auf deine Rückmeldung wegen DB-Eintrag und Glossar-Page-
Anchor-Logik
## Bestätigen
- status: gelesen
- Wenn DB-Einträge da sind: kurze Quittung an `_inbox/klima/`
- Wenn `?term=`-Logik in glossar.php drin ist: ebenso Quittung