frontend: Ein-Bereich-Ansicht + kompakte Legende/Sprachwahl auf Mobil
Auf kleinem Bildschirm (body.mobile per matchMedia, <=640px): - Immer nur ein Bereich gross (Diagramm ODER Editor); der andere schrumpft auf seine Titelzeile und dient als Umschalter (Antippen holt ihn nach vorn). Splitter und Min/Normal/Max-Buttons entfallen. - Legende von der Bereichs-Umschaltung entkoppelt: eigener Umschalter (#legendBtn) im Editor-Kopf statt der dauerhaften "AGENDA"-Zeile, damit sie zugeklappt keinen Platz kostet (neuer i18n-Key legendTooltip, 9 Spr.). - Sprachwahl schlank: nur EN + aktive Sprache + "…" (klappt alle auf); die aktive Sprache wird auch als "extra" eingeblendet, Auto-Aufklappen entfaellt. - Default Vollbild auf Mobil (nur ohne gespeicherte Nutzerwahl). Verifiziert (headless, 375px): body.mobile gesetzt, Diagramm-Default + Editor als Titelzeile, Umschalten per Tap, Legenden-Toggle, Sprachleiste DE+EN+…/Aufklappen zeigt alle 9/aktives Extra bleibt sichtbar, Vollbild an, keine Konsolenfehler; Desktop unveraendert (beide Panels, 4 Sprachen, Legendenbutton verborgen). i18n konsistent (47 Keys x 9). SPEC §9 (Kleiner Bildschirm) + DECISIONS D17 + frontend/CLAUDE.md ergaenzt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ac81f0a209
commit
506bdccd2e
@@ -134,3 +134,16 @@ zählt der flache CI-Klon nur einen Commit. `1.0` bleibt die Version beim lokale
|
||||
Öffnen (Platzhalter im Quelltext).
|
||||
|
||||
(Nummerierung: D15 war bereits für den kompakten Modus vergeben, daher D16.)
|
||||
|
||||
## D17 — Kleiner Bildschirm: ein Bereich, kompakte Legende & Sprachwahl
|
||||
Auf schmalen Viewports (≤ 640 px) ist für beide Bereiche kein Platz. Daher ist
|
||||
immer nur **ein** Bereich groß (Diagramm oder Editor); der andere schrumpft auf
|
||||
seine Titelzeile und dient als Umschalter (Antippen bringt ihn nach vorn),
|
||||
Splitter und Fenster-Buttons entfallen. Die Legende wird von der Bereichs-
|
||||
Umschaltung **entkoppelt** und über einen eigenen Umschalter im Editor-Kopf
|
||||
gesteuert — das dauerhafte „AGENDA“-Band kostet sonst zu viel Höhe. Die
|
||||
Sprachleiste zeigt nur Englisch + aktive Sprache + „…“. Voreinstellung ist
|
||||
**Vollbild** (maximale Fläche). Umgesetzt über die Klasse `body.mobile` (per
|
||||
`matchMedia`), damit CSS und JS denselben Schwellwert teilen; die Vollbild-
|
||||
Voreinstellung greift nur, wenn noch **keine** gespeicherte Nutzerwahl vorliegt
|
||||
(eine bewusste Abschaltung bleibt so erhalten, siehe localStorage-Persistenz).
|
||||
|
||||
@@ -141,6 +141,16 @@ ist grau (`#6B7A8C`) — kein Petrol mehr im Diagramm. Der Modus ändert nur die
|
||||
all-of-Zwischenknoten bekommen ihn **symmetrisch**, damit ihr Abzweig
|
||||
(50 %-Höhe) weiterhin auf der Knotenmitte liegt.
|
||||
|
||||
### Kleiner Bildschirm (mobil)
|
||||
Ab schmaler Breite (≤ 640 px, z. B. Smartphone) ist immer nur **ein** Bereich
|
||||
groß sichtbar — Diagramm **oder** Texteditor; der andere schrumpft auf seine
|
||||
Titelzeile und dient als Umschalter (Antippen bringt ihn nach vorn). Splitter
|
||||
und Min/Normal/Max-Buttons entfallen. Die **Legende** bekommt hier einen eigenen
|
||||
Umschalter im Editor-Kopf (statt der dauerhaften „AGENDA“-Zeile), damit sie
|
||||
zugeklappt keinen Platz kostet. Die **Sprachwahl** zeigt nur Englisch und die
|
||||
aktive Sprache plus „…“ (das alle Sprachen aufklappt). Voreinstellung auf
|
||||
kleinem Bildschirm ist **Vollbild** (siehe D17).
|
||||
|
||||
### Grafikexport des Diagramms
|
||||
Das Diagramm wird aus der Live-Geometrie in ein eigenständiges SVG (nur Formen
|
||||
+ Text, keine externen Ressourcen) nachgezeichnet. Zwei Icon-Schaltflächen:
|
||||
|
||||
Reference in New Issue
Block a user