From 47cea0533b522764fc0840a3ef0128d55312baf8 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Wed, 23 Sep 2026 17:27:35 +0200 Subject: [PATCH] Die Personenreihe im Katalog kommt zurueck Filipe: "ich hab gesagt du sollst die kachel von aufgabe in die eure aufgabe kategorie machen und du machst sie ganz weg was soll das, da ist scheisse wenn du einfach sachen machst die ich nicht verlange." Er hat recht. Der Auftrag war, den Katalog zu VERSCHIEBEN. Ich habe ihn verschoben und dabei die Personenreihe darin geloescht -- mit einer Begruendung, die ich mir selbst gegeben habe. Verlangt war das nicht. Sie steht wieder vollstaendig da: die Ueberschrift "An wen", ein Knopf je Person, daneben wie viel offen ist, und was ueberfaellig liegt faellt auf ("1 spaet"). Dieselben Bausteine wie vorher, dieselbe Gestaltung -- am CSS musste nichts geaendert werden, es stand noch da. WAS SICH GEAENDERT HAT, IST NUR, WAS SIE SETZT. Frueher hatte sie eine eigene Auswahl (kZiel), die nichts von der Seite wusste: Man konnte oben den einen und unten den anderen waehlen, und dann standen zwei Antworten auf einem Bildschirm. Auf "Aufgaben" fiel das nicht auf, weil es dort oben gar keine Personenwahl gab. Auf "Eure Aufgaben" waere es aufgefallen. Jetzt ruft ein Tipp in der Reihe dieselbe Funktion wie ein Tipp auf eine Kachel -- nicht etwas Aehnliches, sondern denselben Weg. Damit KANN die Reihe nichts anderes meinen als die Kacheln. Zwei Stellen zum Bedienen, eine Antwort. Gemessen, in beide Richtungen: Ein Tipp in der Reihe markiert die Kachel oben, und ein Tipp auf die Kachel markiert den Knopf in der Reihe. Dazu Namen, Zahlen und die Spaet-Markierung. 14 Messungen, 0 Befunde. pruef-modi-katalog misst wieder drei Reihen statt zwei -- und neu auch die Kopplung selbst: 133 geprueft (vorher 129), 0 Fehler. WAS ICH DARAUS MITNEHME: "Verschieben" heisst verschieben. Wenn mir beim Umzug etwas auffaellt, das ich fuer ueberfluessig halte, ist das eine Frage an Filipe und keine Entscheidung von mir. Co-Authored-By: Claude Opus 5 --- server/pruef-modi-katalog.mjs | 57 +++++++++++++++++----- workspace/anruf-probe.html | 10 ++-- workspace/app.webmanifest | 8 +-- workspace/assets/js/aufgaben.js | 8 +++ workspace/assets/js/entwicklung.js | 14 ++++++ workspace/assets/js/vorlagenbrett.js | 73 ++++++++++++++++++++++------ workspace/aufgaben.html | 38 +++++++-------- workspace/automation.html | 32 ++++++------ workspace/befinden.html | 32 ++++++------ workspace/bereich.html | 44 ++++++++--------- workspace/bewerben.html | 36 +++++++------- workspace/bewerbungen.html | 34 ++++++------- workspace/calls.html | 34 ++++++------- workspace/chat.html | 38 +++++++-------- workspace/content.html | 34 ++++++------- workspace/crew-index.html | 12 ++--- workspace/crew.webmanifest | 8 +-- workspace/dateien.html | 34 ++++++------- workspace/entwicklung.html | 34 ++++++------- workspace/hilfe.html | 28 +++++------ workspace/index.html | 10 ++-- workspace/kalender.html | 34 ++++++------- workspace/leistung.html | 32 ++++++------ workspace/material.html | 32 ++++++------ workspace/personen.html | 32 ++++++------ workspace/profil.html | 36 +++++++------- workspace/rechte.html | 32 ++++++------ workspace/report.html | 36 +++++++------- workspace/scouting.html | 32 ++++++------ workspace/start.html | 32 ++++++------ workspace/startcheck.html | 34 ++++++------- workspace/steckbrief.html | 36 +++++++------- workspace/talente.html | 34 ++++++------- workspace/team.html | 32 ++++++------ workspace/teamlage.html | 32 ++++++------ workspace/teilen.html | 28 +++++------ workspace/treff-moderation.html | 30 ++++++------ workspace/treff-regeln.html | 30 ++++++------ workspace/uebersicht.html | 32 ++++++------ workspace/unsere-seiten.html | 28 +++++------ workspace/werdegang.html | 30 ++++++------ workspace/willkommen.html | 30 ++++++------ workspace/wissen.html | 34 ++++++------- 43 files changed, 710 insertions(+), 616 deletions(-) diff --git a/server/pruef-modi-katalog.mjs b/server/pruef-modi-katalog.mjs index f9287d67..0cf47a6b 100644 --- a/server/pruef-modi-katalog.mjs +++ b/server/pruef-modi-katalog.mjs @@ -729,15 +729,34 @@ console.log(""); GEPRUEFT WIRD DESHALB DIE VERBINDUNG: Was die Seite oben sagt, muss der Katalog unten meinen. */ - const ohne = await seite.evaluate(() => ({ - knopf: document.querySelector(".vorlagenbrett__karte .knopf")?.textContent.trim(), - satz: [...document.querySelectorAll("#vorlagenbrett .stufenleiter__hilfe")] - .map((z) => z.textContent.trim()).join(" | "), - hin: !!document.querySelector("#vorlagenbrett .knopf-still"), - reihen: document.querySelectorAll("#vorlagenbrett .stufenleiter").length, - })); - ok(ohne.reihen === 2, - "zwei Auswahlreihen statt drei -- die Person steht oben (" + ohne.reihen + ")"); + const ohne = await seite.evaluate(() => { + const reihe = document.querySelector('#vorlagenbrett [aria-label="Person wählen"]'); + return { + knopf: document.querySelector(".vorlagenbrett__karte .knopf")?.textContent.trim(), + satz: [...document.querySelectorAll("#vorlagenbrett .stufenleiter__hilfe")] + .map((z) => z.textContent.trim()).join(" | "), + hin: !!document.querySelector("#vorlagenbrett .knopf-still"), + reihen: document.querySelectorAll("#vorlagenbrett .stufenleiter").length, + namen: [...(reihe?.querySelectorAll(".stufenleiter__name") || [])] + .map((z) => z.textContent.trim()), + zahlen: [...(reihe?.querySelectorAll(".stufenleiter__zahl") || [])].length, + }; + }); + /* DREI REIHEN: Kategorie, Stufe, Person. + + Hier stand zwischenzeitlich "zwei Auswahlreihen statt drei" -- + weil ich die Personenreihe beim Umzug entfernt hatte. Das war + nicht verlangt; sie ist wieder da. Was sich geaendert hat, ist + nur, WAS sie setzt: dieselbe Person wie die Kacheln oben. + Gemessen wird das ein paar Zeilen weiter unten. */ + ok(ohne.reihen === 3, + "drei Auswahlreihen (Kategorie, Stufe, Person): " + ohne.reihen); + ok(ohne.namen.includes("Marina"), + "der Modi steht zur Auswahl (" + ohne.namen.join(", ") + ")"); + ok(!ohne.namen.includes("Tili") && !ohne.namen.includes("Schulle"), + "ein Creator und eine Managerin nicht — sie arbeiten im anderen Haus"); + ok(ohne.zahlen === ohne.namen.length && ohne.namen.length > 0, + "neben jedem Namen steht, wie viel offen ist (" + ohne.zahlen + ")"); ok(ohne.knopf === "Übernehmen", 'solange niemand gewaehlt ist, heisst der Knopf schlicht "Übernehmen" (' + ohne.knopf + ")"); @@ -747,12 +766,24 @@ console.log(""); weiss, wo sie sind, auch nach dem naechsten Umbau. */ ok(ohne.hin, "mit einem Knopf, der zur Personenwahl fuehrt"); - /* JETZT WIRKLICH WAEHLEN -- ueber die Kachel, so wie ein Mensch. */ + /* JETZT WIRKLICH WAEHLEN -- und zwar IN DER REIHE, nicht an der + Kachel. Genau das ist die Frage seit dem 23.09.2026: Die Reihe + hat keine eigene Auswahl mehr, sie setzt dieselbe Person wie die + Kacheln oben. Ein Tipp hier muss also dort ankommen. */ await seite.evaluate(() => { - [...document.querySelectorAll("#personen .e-person")] - .find((k) => (k.dataset.name || k.textContent).includes("Marina"))?.click(); + const reihe = document.querySelector('#vorlagenbrett [aria-label="Person wählen"]'); + [...(reihe?.querySelectorAll(".stufenleiter__knopf") || [])] + .find((k) => k.textContent.includes("Marina"))?.click(); }); - await seite.waitForTimeout(2400); + await seite.waitForTimeout(2600); + /* DIE KACHEL OBEN MUSS ES WISSEN. Ohne diese Zeile bewiese der + Rest nur, dass der Katalog mit sich selbst einig ist. */ + const obenAn = await seite.evaluate(() => + [...document.querySelectorAll("#personen .e-person")] + .filter((k) => k.getAttribute("aria-pressed") === "true") + .map((k) => k.dataset.name || k.textContent.trim().split("\n")[0])); + ok(obenAn.some((t) => t.includes("Marina")), + "ein Tipp in der Reihe waehlt die Person auch oben (" + (obenAn.join(", ") || "keine") + ")"); const nachWahl = await seite.evaluate(() => { const karten = [...document.querySelectorAll(".vorlagenbrett__karte")]; const frisch = karten.find((k) => k.dataset.schon !== "ja"); diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index dbdec61e..27c53e74 100644 --- a/workspace/anruf-probe.html +++ b/workspace/anruf-probe.html @@ -16,15 +16,15 @@ verdeckt. Gefunden hat es pruef-struktur. Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> - - + + - +