From 06024dd0c1d69cec1879d6e6d9c23e571770c096 Mon Sep 17 00:00:00 2001 From: Axel Hocks Date: Thu, 20 Aug 2026 22:11:59 +0200 Subject: [PATCH] Muster-Bilder ins Dashboard hinter die Meldungen + M15-Karte sagt jetzt, WARUM kein Setup (v=205) (1) BILDER INS DASHBOARD (User-Vorgabe). Das Raster `#pt-tfgrid` sitzt jetzt in einer eigenen Karte `#card-muster` direkt hinter der Meldungen-Karte, vor der Breakout-Karte. VERSCHOBEN, nicht kopiert: eine zweite Kopie haette eine doppelte Element-ID erzeugt, und getElementById liefert dann immer nur die erste - die zweite Karte waere still leer geblieben. Im Tab "SIG Live" bleibt die M30-Detailliste mit Trigger und Kursziel (sie traegt das Verdict-Gewicht 0,25; die Bilder tragen keins). Geprueft am ausgelieferten HTML: 0 doppelte IDs, pt-tfgrid genau 1x, Reihenfolge Meldungen -> Muster -> BRK, Tag-Balance 20/20. (2) "DIE TP IN DER M15 KARTE SIND NICHT MEHR SICHTBAR" - kein Fehler, aber die Anzeige war schuld. Der Setup-Block verlangt `sb && erl && nah && atr>0`, und `erl` (die erlaubte Richtung) kommt aus dem VETO. Live steht bias.verboten auf None, weil M30 flach ist (m30=0) - also gibt es keine erlaubte Richtung, und ohne Richtung sind Entry Zone, Stop und TP1-3 nicht bestimmbar. Genau so ist es am 10.08. entschieden worden ("kein Veto - Richtung offen, kein Ziel bestimmbar"). Der Block verschwand dabei aber KOMMENTARLOS. Ein leeres und ein blockiertes Feld sahen identisch aus - dieselbe Klasse wie "Slot frei" beim Breakout und wie das schweigende Trailing, beide heute aus demselben Grund repariert. Jetzt steht dort: "Kein Setup: kein Trend-Veto (M30 flach) - ohne erlaubte Richtung sind Entry Zone, Stop und TP nicht bestimmbar." Die beiden anderen Abbruchgruende (kein Level in Reichweite / ATR fehlt) werden ebenfalls benannt. Pipeline A-G gruen, 97 Tests, 14 render*-Funktionen laufen durch (Fixture und leerer Snapshot), deployt und am ausgelieferten HTML verifiziert. Co-Authored-By: Claude Opus 5 --- web/app.js | 16 ++++++++++++++-- web/index.html | 28 ++++++++++++++++++++-------- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/web/app.js b/web/app.js index 14ecca0..aa8d01a 100644 --- a/web/app.js +++ b/web/app.js @@ -469,7 +469,19 @@ function renderM15(s, snap) { sb.innerHTML = zl2.join("
"); sb.hidden = false; } else if (sb) { - sb.hidden = true; + // ⚠⚠ NICHT einfach verstecken — sagen, WARUM (User-Meldung 2026-08-20: + // "die TP in der M15 Karte sind nicht mehr sichtbar"). Es war kein + // Fehler: ohne Veto gibt es keine erlaubte Richtung, und ohne Richtung + // sind Entry Zone, Stop und TP1-3 nicht bestimmbar. Ein leeres und ein + // blockiertes Feld sahen bis hierher identisch aus — dieselbe Klasse + // wie "Slot frei" beim Breakout und wie das schweigende Trailing, + // beide am selben Tag aus demselben Grund repariert. + const g = !erl + ? "kein Trend-Veto (M30 flach) — ohne erlaubte Richtung sind Entry Zone, " + + "Stop und TP nicht bestimmbar" + : (!nah ? "kein Level in Reichweite" : "ATR_M15 fehlt noch"); + sb.innerHTML = `Kein Setup: ${g}.`; + sb.hidden = false; } } @@ -2447,7 +2459,7 @@ async function closeSlot(slot, label, pnl) { // und der Browser zeigte Altes. Statt das jedes Mal von Hand zu diagnostizieren, // sagt die Seite es jetzt selbst. // ⚠ Bewusst SICHTBAR statt nur Konsole: die Konsole sieht am Handy niemand. -const _JS_V = "204"; +const _JS_V = "205"; { const htmlV = document.body && document.body.dataset ? document.body.dataset.htmlV : null; diff --git a/web/index.html b/web/index.html index a2eec26..4e2f0ed 100644 --- a/web/index.html +++ b/web/index.html @@ -12,9 +12,9 @@ ⚠ LOKAL eingebunden, kein CDN: die PWA laeuft ueber WireGuard und muss offline funktionieren. --> - + - +