From 409ed551f31ba16eeaf80efde1d2a5e0e9a0e155 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Sun, 20 Sep 2026 17:27:09 +0200 Subject: [PATCH] "Review" heisst jetzt "Zur Freigabe" -- und Datumsfelder sind so hoch wie alle anderen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Im Code stand die Begruendung selbst: "«Review» allein sagt einem Neuen nichts." Das Wort ist englisch, ein Hauptwort ohne Handlung, und es verraet nicht, WER jetzt dran ist. "Zur Freigabe" sagt beides: fertig von mir, wartet auf jemanden. Geaendert wurde nur, was ein Mensch LIEST -- der Zustandsschluessel bleibt `review`, der gehoert der Datenbank. Betroffen: Spalte und Weiterknopf im Aufgabenbrett, Dateien-Filter, Startseiten-Zaehler, Kachel-Unterzeile, Hinweis "Datei wartet auf Freigabe", Report. NICHT geaendert: der Kalender. Dort ist `review` eine TERMINART (ein Gespraech, in dem man zurueckschaut), kein Zustand. Ich hatte das beim Umbenennen selbst verwechselt und wieder zurueckgenommen -- ein Kommentar an der Stelle haelt die zwei Bedeutungen jetzt auseinander. pruef-sprung hing an der Wortwahl (`/review/i` auf der Beschriftung) und wurde rot, obwohl der Filter richtig stand. Sie prueft jetzt `data-status` -- den Schluessel, der sich nicht mit der Sprache aendert. DAZU, unabhaengig gefunden: Datumsfelder waren 48 px hoch, alle anderen Felder 44. Gemessen auf drei Seiten bei 390 px. Alle liegen auf dem 44-px-Beruehrziel -- nur das Datumsfeld drueckte sich darueber, weil Chromium in `::-webkit-datetime-edit` eine eigene Innenpolsterung setzt, die sogar ein gesetztes `height: 44px` ueberstimmt. Zwei Anteile, einzeln nachgemessen (jeder allein 48->46, erst beide zusammen 48->44): 1 px Polsterung oben und unten im Feldkasten, und eine Zeilenhoehe von 24 statt 22. Keine feste Hoehe gesetzt -- die Zeilenhoehe wird aus Beruehrziel und Polsterung gerechnet, damit sie mitwandert, wenn sich eines davon aendert. Geprueft: pruef-formulare 19/0 (war 16 mit 3 Fehlern), pruef-sprung 43/0, pruef-start-ansicht 151/0, pruef-aufgabenbrett 49/0, pruef-uebersicht 35/0, pruef-uebersicht-browser 20/0, pruef-deutsche-texte, pruef-css-klassen. Ausserdem: vorlagen.js geloescht (8,2 KB). `vorlagenBlock(` wurde in ca104799 eingebaut und in 9267797d wieder ausgebaut -- seither laedt die Datei auf zwei Seiten, ohne dass jemand sie aufruft. Co-Authored-By: Claude Opus 5 --- server/pruef-sprung.mjs | 20 ++- server/workspace-hinweise.js | 2 +- server/workspace.js | 2 +- workspace/anruf-probe.html | 8 +- workspace/app.webmanifest | 8 +- workspace/assets/css/start.css | 43 +++++++ workspace/assets/js/aufgaben.js | 18 ++- workspace/assets/js/automation.js | 2 +- workspace/assets/js/bereiche.js | 2 +- workspace/assets/js/dateien.js | 9 +- workspace/assets/js/kopf.js | 2 +- workspace/assets/js/report.js | 2 +- workspace/assets/js/start.js | 7 +- workspace/assets/js/uebersicht.js | 5 +- workspace/assets/js/vorlagen.js | 194 ------------------------------ workspace/aufgaben.html | 32 ++--- workspace/automation.html | 30 ++--- workspace/befinden.html | 28 ++--- workspace/bereich.html | 39 +++--- workspace/bewerben.html | 34 +++--- workspace/bewerbungen.html | 32 ++--- workspace/calls.html | 32 ++--- workspace/chat.html | 34 +++--- workspace/content.html | 33 +++-- workspace/crew-index.html | 10 +- workspace/crew.webmanifest | 8 +- workspace/dateien.html | 36 +++--- workspace/entwicklung.html | 28 ++--- workspace/hilfe.html | 26 ++-- workspace/index.html | 8 +- workspace/kalender.html | 38 +++--- workspace/leistung.html | 30 ++--- workspace/personen.html | 30 ++--- workspace/profil.html | 36 +++--- workspace/rechte.html | 28 ++--- workspace/report.html | 32 ++--- workspace/scouting.html | 30 ++--- workspace/start.html | 28 ++--- workspace/startcheck.html | 32 ++--- workspace/steckbrief.html | 34 +++--- workspace/talente.html | 30 ++--- workspace/team.html | 28 ++--- workspace/teamlage.html | 28 ++--- workspace/teilen.html | 26 ++-- workspace/treff-moderation.html | 28 ++--- workspace/treff-regeln.html | 28 ++--- workspace/uebersicht.html | 30 ++--- workspace/unsere-seiten.html | 24 ++-- workspace/werdegang.html | 28 ++--- workspace/wissen.html | 32 ++--- 50 files changed, 607 insertions(+), 727 deletions(-) delete mode 100644 workspace/assets/js/vorlagen.js diff --git a/server/pruef-sprung.mjs b/server/pruef-sprung.mjs index adc078bb..5c6ef3a8 100644 --- a/server/pruef-sprung.mjs +++ b/server/pruef-sprung.mjs @@ -191,7 +191,9 @@ const soll = [ ["Aufgaben erledigt", "aufgaben.html?zeigen=erledigt"], ["Aufgaben offen", "aufgaben.html?zeigen=offen"], ["überfällig", "aufgaben.html?zeigen=ueberfaellig"], - ["Dateien im Review", "dateien.html?zeigen=review"], + /* Heisst seit dem 20.09.2026 so -- der Schluessel bleibt `review`, + das Wort auf dem Bildschirm nicht. */ + ["Dateien warten auf Freigabe", "dateien.html?zeigen=review"], ["Dateien freigegeben", "dateien.html?zeigen=frei"], ["Termine gewesen", "kalender.html?zeigen=vergangen"], ["Termine stehen an", "kalender.html?zeigen=kommend"], @@ -311,8 +313,11 @@ await seite.waitForTimeout(1200); const da = await seite.evaluate(() => ({ leiste: !!document.querySelector(".ziel-leiste"), text: document.querySelector(".ziel-leiste__text")?.textContent || "", - gedrueckt: [...document.querySelectorAll("#filter .schritt")] - .find((b) => b.getAttribute("aria-pressed") === "true")?.textContent?.trim(), + gedrueckt: (() => { + const b = [...document.querySelectorAll("#filter .schritt")] + .find((x) => x.getAttribute("aria-pressed") === "true"); + return b ? { schluessel: b.dataset.status || "", wort: b.textContent.trim() } : null; + })(), })); /* Es liegt keine Datei da -- und genau dieser Fall ist der wichtige: Wer auf eine Zahl klickt und auf einer leeren Seite landet, glaubt, @@ -320,7 +325,14 @@ const da = await seite.evaluate(() => ({ ist und die Sache erledigt. */ ok(da.leiste, "auch ohne Treffer erscheint die Leiste"); ok(/nichts davon da/.test(da.text), ` und sagt, dass hier nichts liegt ("${da.text}")`); -ok(/review/i.test(da.gedrueckt || ""), ` der Filter steht auf "${da.gedrueckt}"`); +/* AM SCHLUESSEL PRUEFEN, NICHT AM WORT (20.09.2026). Hier stand + `/review/i` auf der Beschriftung. Als aus "Review" das deutsche + "Zur Freigabe" wurde, wurde diese Pruefung rot -- obwohl der Filter + genau richtig stand. Eine Pruefung, die an der Wortwahl haengt, + bestraft jede Textverbesserung. `data-status` ist der Schluessel, + den der Server kennt; der aendert sich nicht mit der Sprache. */ +ok(da.gedrueckt?.schluessel === "review" && (da.gedrueckt?.wort || "").length > 2, + ` der Filter steht auf "${da.gedrueckt?.wort}" (Schluessel: ${da.gedrueckt?.schluessel})`); /* ================================================================ 5. Kalender: schaltet auf die Liste um diff --git a/server/workspace-hinweise.js b/server/workspace-hinweise.js index 08b8c435..64df8558 100644 --- a/server/workspace-hinweise.js +++ b/server/workspace-hinweise.js @@ -181,7 +181,7 @@ hinweisRouter.get("/workspace/api/hinweise", (req, res) => { const d = sichtbarDateien(person); if (d) { dazu("dateien_review", istLeitung(person) ? "warnung" : "offen", - "Datei im Review", "dateien.html", + "Datei wartet auf Freigabe", "dateien.html", zaehle(`SELECT COUNT(*) n FROM dateien d WHERE ${d.wo} AND d.status = 'review'`, d.werte)); } diff --git a/server/workspace.js b/server/workspace.js index 566a13b5..f8d7b66e 100644 --- a/server/workspace.js +++ b/server/workspace.js @@ -588,7 +588,7 @@ export const ROLLEN_GRUPPE = { ===================================================================== */ const MODI_BEREICHE = [ { gruppe: "Täglich", gruppeUnter: "Was du sowieso jeden Tag aufmachst", - name: "Aufgaben", unter: "Offen, in Arbeit, Review", zeichen: "aufgaben", + name: "Aufgaben", unter: "Offen, in Arbeit, zur Freigabe", zeichen: "aufgaben", ton: 13, gross: true, ziel: "aufgaben.html", szene: "garage" }, { gruppe: "Täglich", gruppeUnter: "Was du sowieso jeden Tag aufmachst", name: "Chat", unter: "Nachrichten mit dem Team", zeichen: "chat", diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index e2b0e441..5189b2e3 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`. --> - - + + - +