M15-Karte: Pruefkette als Akkordeon in drei Abschnitten

User-Wunsch. Die Karte war auf zehn Zeilen gewachsen und dominierte das
Dashboard; jetzt sind sie in drei aufklappbare Gruppen sortiert:

  ① - ④  Pruefkette                        (offen)   Bias · Kosten · Zone · Reichweite
  ⑤      Kontext - Motor · M5 · RSI        (zu)      Motor/Raum · M5-Zustand · RSI
  ⑥ - ⑦  Selbstmessung · Ausfuehrung · Veto (zu)      Track · Exec · Veto

Das Status-Banner bleibt IMMER sichtbar - es ist die eine Zeile, die eine
Handlungsaussage traegt, und es bestaetigt ausdruecklich auch das Nicht-Handeln.

⚠⚠ NATIVES <details>/<summary>, kein JS fuer das Klappen. Entscheidend ist, dass
die Elemente IM DOM bleiben: der Render schreibt weiter in alle zehn IDs, auch
wenn ein Abschnitt zugeklappt ist. Ein Container, der die Elemente ENTFERNT,
haette den Render abbrechen lassen - genau der Ausfall von gestern Abend, als
ein ReferenceError in renderM15 das halbe Dashboard auf "—" stehen liess.

JS macht nur EINES: den Auf-/Zu-Zustand in localStorage merken. Ohne das waere
jeder Reload ein Rueckschritt - und die Seite wird bei jedem ?v=-Bump neu
geladen. Faellt localStorage aus (privater Modus), greift der Default.

Verifiziert: 10 m15-Items unveraendert vorhanden, keine doppelten IDs,
div 86/86 und details 3/3 ausgeglichen, node --check gruen, Render-Probe
(Stufe B2) gruen. Reine Frontend-Aenderung (v=190), kein Neustart.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-20 00:11:17 +02:00
co-authored by Claude Opus 5
parent 5684589878
commit d3d613068c
3 changed files with 62 additions and 24 deletions
+17
View File
@@ -630,3 +630,20 @@ main{padding-bottom:4.1111rem} /* Platz für die fixe Leiste */
nicht bedienbar (User: „Einsatz je Pfad kann ich nichts eingeben"). */
.mg-row{margin-top:0.4444rem;padding-top:0.4444rem;border-top:1px solid var(--line)}
.mg-row .tb-field input{width:7ch}
/* ── M15-Prüfkette als Akkordeon (User-Wunsch 2026-08-20) ─────────────────
⚠ Natives <details>/<summary>: kein JS für das Auf- und Zuklappen, und —
entscheidend — die Elemente bleiben IM DOM, auch wenn zugeklappt. Ein
`display:none`-Container würde den Render NICHT stören (die IDs existieren
weiter), ein Entfernen dagegen schon. */
.m15-akk{border:1px solid var(--line);border-radius:var(--r-sm);
margin-bottom:0.3333rem;background:var(--surface-2)}
.m15-akk > summary{cursor:pointer;padding:0.3889rem 0.5556rem;
font-size:0.8333rem;color:var(--dim);letter-spacing:.3px;
list-style:none;user-select:none}
.m15-akk > summary::-webkit-details-marker{display:none}
.m15-akk > summary::before{content:"▸ ";color:var(--dim)}
.m15-akk[open] > summary::before{content:"▾ "}
.m15-akk > summary:hover{color:var(--bright)}
.m15-akk[open] > summary{border-bottom:1px solid var(--line)}
.m15-akk .m15-item{margin:0.2222rem 0.3333rem}