Die Zeitraeume bekommen eine Tafel -- und die Zahl, die fehlte

Filipe: "das muss viel geiler aussehen bitte. ich will dass es auch
seeeehr gut erkennbar ist, genau wie der text drueber. mach das bitte
alles so dass es mega speziell, hochwertig und lesbar ist."

DAS EIGENTLICHE PROBLEM WAR LESBARKEIT, nicht Geschmack. Im
Bildschirmfoto gemessen: Ueberschrift und Erklaersatz standen direkt
auf der Buehne -- einem Foto mit hellrotem Berg. Und die Karte griff
nach `--flaeche-tief`, einer Variablen, die es im ganzen Haus nicht
gibt; gegriffen hat der Ersatzwert mit 72 % Deckung, also kam der Berg
mit. Eine Variable, die nirgends steht, faellt nicht auf.

Jetzt sitzt alles in EINEM Koerper: vierfarbige Fassung, deckendes
Innenglas mit Messraster, die Zeitraeume als eingelassene Felder mit
dunklen Fugen. Das ist nicht neu erfunden, sondern die Rollenkachel der
Anmeldeseite -- ein Haus, eine Handschrift. Typenschild und Hauptzahl
in gebuerstetem Metall, mit vollwertigem Rueckfall.

"GUELTIGE LIVE-GEHEN-TAGE" WURDE BIS HEUTE WEGGEWORFEN. Datenbank,
Anzeigefeld und Importzeile waren da -- nur `spaltenRaten` hatte kein
Muster dafuer. Am 14.09. wurde das alte `/tag/` reparirt, das die
Spalte faelschlich zur Datumsspalte machte; die Reparatur hat den
falschen Empfaenger entfernt und keinen richtigen bestellt. Die
Pruefdatei SCHICKTE den Wert seit dem 14.09. und hat nie nachgesehen,
ob er ankommt. Jetzt steht er als Streifen da, in genau so viele
Kaestchen geteilt, wie der Zeitraum Tage hat.

ZWEI KLASSEN IM WAEHLER, mit Grund: `.spannen__schild` allein (0,1,0)
kam gegen `.inhalt .feldschild` aus start.css (0,2,0) nicht an -- im
Browser gemessen war weder `display: flex` noch die Farbe da.

UND EINE ZEITBOMBE ENTSCHAERFT: pruef-backstage-import rechnete
"morgen" mit `toISOString()` (UTC), der Server mit Ortszeit. Um 00:40
Berlin war das hier berechnete "morgen" in Wahrheit HEUTE -- die
Gegenprobe "ein Datum in der Zukunft wird abgelehnt" fiel taeglich
zwischen Mitternacht und zwei Uhr um. Alle drei Tage werden jetzt aus
einer Stelle abgeleitet.

Gemessen statt behauptet: 43 258 Bildpunkte hinter Ueberschrift und
Satz abgetastet, kein einziger rot. Gegenprobe mit weggenommenem
Innenglas: 2 857 rote -- die Messung kann Rot also sehen.

pruef-backstage-import 133 (war 127), pruef-xlsx 75 (war 67),
pruef-css-klassen, pruef-leistung-optik 59, pruef-leistung: alle gruen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-16 00:59:51 +02:00
co-authored by Claude Opus 5
parent 04f87603f6
commit 984f0dd7a9
35 changed files with 929 additions and 424 deletions
+24
View File
@@ -201,6 +201,30 @@ console.log("\n=== Vom Excel bis zur Spaltenzuordnung ===");
`"${name}" ${sollTreffen ? "ist" : "ist NICHT"} die Datumsspalte (erkannt: ${trifft})`);
}
/* ---- UND WO LANDET SIE DANN? (16.09.2026) ----------------------
Die Gegenprobe oben sagte nur, dass "Gültige LIVE-Gehen-Tage"
KEINE Datumsspalte ist. Das war richtig -- und unvollständig: Die
Spalte hatte danach ueberhaupt keinen Empfaenger mehr und lief ins
Leere. Datenbankspalte, Anzeigefeld und Importzeile waren da, nur
das Muster fehlte.
DAS IST DIE GENAUE SORTE FEHLER, DIE EINE GEGENPROBE ALLEIN NICHT
FINDET: "trifft das Falsche nicht" ist kein Beweis dafuer, dass es
das Richtige trifft. Deshalb steht beides jetzt nebeneinander. */
ok(tabelle[0][zu.gueltige_tage] === "Gültige LIVE-Gehen-Tage",
`"Gültige LIVE-Gehen-Tage" landet als gueltige_tage (Spalte ${zu.gueltige_tage})`);
ok(zahlLesen(tabelle[1][zu.gueltige_tage]) === 11,
`und traegt die Zahl ${zahlLesen(tabelle[1][zu.gueltige_tage])}`);
for (const [name, soll] of [
["Gültige LIVE-Gehen-Tage", true], ["Valid go LIVE days", true],
["Tage seit dem Beitritt", false], ["Livestreams", false],
["Diamanten", false], ["LIVE-Dauer", false],
]) {
const trifft = spaltenRaten([name]).gueltige_tage === 0;
ok(trifft === soll,
`"${name}" ${soll ? "ist" : "ist NICHT"} die Spalte der gueltigen Tage (erkannt: ${trifft})`);
}
/* Und die Werte, die dahinter herauskommen. */
ok(zahlLesen(tabelle[1][zu.diamanten]) === 12480,
`"12.480" wird zu ${zahlLesen(tabelle[1][zu.diamanten])} und nicht zu 12,48`);