diff --git a/pruef-checkliste.png b/pruef-checkliste.png index fc4d76b1..676ea241 100644 Binary files a/pruef-checkliste.png and b/pruef-checkliste.png differ diff --git a/pruef-content-computer.png b/pruef-content-computer.png index d2bc1e66..0cddbfee 100644 Binary files a/pruef-content-computer.png and b/pruef-content-computer.png differ diff --git a/pruef-content-creator.png b/pruef-content-creator.png index b8480d4a..c01f76b3 100644 Binary files a/pruef-content-creator.png and b/pruef-content-creator.png differ diff --git a/pruef-content-handy.png b/pruef-content-handy.png index 135a3019..f8ac0975 100644 Binary files a/pruef-content-handy.png and b/pruef-content-handy.png differ diff --git a/pruef-felder.png b/pruef-felder.png index a8b0997e..aca985cd 100644 Binary files a/pruef-felder.png and b/pruef-felder.png differ diff --git a/pruef-merkzeichen.png b/pruef-merkzeichen.png index 8b531e8b..b9c4fd9e 100644 Binary files a/pruef-merkzeichen.png and b/pruef-merkzeichen.png differ diff --git a/server/pruef-content-ansicht.mjs b/server/pruef-content-ansicht.mjs index b306b053..f39ef77b 100644 --- a/server/pruef-content-ansicht.mjs +++ b/server/pruef-content-ansicht.mjs @@ -133,22 +133,24 @@ for (const [breite, wie] of [[1440, "Computer"], [390, "Handy"]]) { const r = await lesen(seite); console.log(" Spalten:", r.spalten.map((s) => `${s.name}=${s.zahl}`).join(" · ")); - console.log(" Kacheln:", r.kacheln.map((k) => `${k.name}=${k.wert}`).join(" · ")); ok(r.spalten.length === 5, `fünf Stufen (${r.spalten.length})`); ok(r.spalten[0].zahl === "2" && r.spalten[4].zahl === "16", `Ideen 2, Veröffentlicht 16 (${r.spalten[0].zahl}/${r.spalten[4].zahl})`); - ok(r.kacheln.length === 5, `fünf Kennzahlen (${r.kacheln.length})`); + /* DIE KENNZAHLEN-REIHE IST WEG (01.09.2026, auf Wunsch: "diese Kisten + sind jetzt ueberall zu viel, die sollen weg"). - const vorrat = r.kacheln.find((k) => k.name === "Vorrat"); - ok(vorrat?.wert === "4", `Vorrat 4 (${vorrat?.wert})`); - ok(/reicht noch/.test(vorrat?.zusatz || ""), `als Tage ausgedrückt ("${vorrat?.zusatz}")`); + Hier stand vorher, dass es genau fuenf davon gibt. Die Pruefung wird + nicht geloescht, sondern UMGEDREHT: Sie sichert jetzt, dass sie + nicht zurueckkommen. Eine geloeschte Pruefung merkt niemand, wenn + jemand die Reihe spaeter versehentlich wieder einbaut. - const ohneHook = r.kacheln.find((k) => k.name === "ohne Hook"); - ok(ohneHook?.wert === "1" && ohneHook?.stufe === "warn", - `ein Video ohne Hook, auffällig (${ohneHook?.wert}/${ohneHook?.stufe})`); - const ueberf = r.kacheln.find((k) => k.name === "überfällig"); - ok(ueberf?.wert === "1", `eines überfällig (${ueberf?.wert})`); + Die Zahlen selbst (Vorrat, ohne Hook, ueberfaellig) sind dadurch + NICHT ungeprueft: pruef-content.mjs prueft sie weiterhin an der + Schnittstelle, Abschnitt 5 und 6. Nur ihre Anzeige ist entfallen. */ + ok(r.kacheln.length === 0, `keine Kennzahlen-Kisten mehr (${r.kacheln.length})`); + ok(r.spalten.length === 5, + "die Strecke zeigt die Zahlen weiterhin an jeder Spalte – dort gehoeren sie hin"); /* Die Balance -- vier Farben, jede eine andere, keine zwei gleich. */ ok(r.stuecke.length === 4, `vier Stücke im Balken (${r.stuecke.length})`); @@ -206,7 +208,7 @@ console.log("\n=== Creator sieht, ändert aber nichts"); ok(r.spalten.reduce((n, s) => n + s.karten, 0) === 14, `und seine Videos, letzte Spalte gekürzt (${r.spalten.reduce((n, s) => n + s.karten, 0)})`); ok(r.mehrKnopf === 1, `mit einem Aufklapper an der langen Spalte (${r.mehrKnopf})`); - ok(r.kacheln.length === 5, "sieht seine Kennzahlen"); + ok(r.kacheln.length === 0, "sieht keine Kennzahlen-Kisten mehr"); ok(r.stuecke.length === 4, "sieht die Verteilung"); ok(!r.anlegenDa, "aber keinen Anlegen-Knopf"); ok(!r.saeulenKnopfDa, "und keine Säulenverwaltung"); diff --git a/workspace/assets/css/content.css b/workspace/assets/css/content.css index 3a5db452..0d028417 100644 --- a/workspace/assets/css/content.css +++ b/workspace/assets/css/content.css @@ -33,33 +33,16 @@ body.start { --saeule-0: #56657a; /* ohne Säule -- bewusst grau, keine sechste Farbe */ } -/* ---------- Kennzahlen ---------------------------------------------------- */ +/* Die Kennzahlen-Reihe ist am 01.09.2026 entfallen ("diese Kisten sind + jetzt ueberall zu viel, die sollen weg"). Mit ihr gehen auch .kachel, + .kachel__wert, .kachel__name und .kachel__zusatz -- sie hatten hier + keinen anderen Benutzer. -.kennzahlen { - display: grid; gap: 10px; margin-bottom: 26px; - grid-template-columns: 1.4fr repeat(4, 1fr); -} -.kachel { - display: grid; gap: 2px; align-content: start; - padding: 15px 17px; - border: 1px solid var(--rand); border-radius: var(--radius); - background: var(--flaeche); -} -.kachel[data-gross="ja"] { padding: 17px 20px; } -.kachel[data-stufe="warn"] { - border-color: rgba(255, 154, 162, .3); background: rgba(255, 154, 162, .05); -} -.kachel__wert { - font-size: 1.7rem; font-weight: 700; line-height: 1.05; - font-variant-numeric: tabular-nums; letter-spacing: -.02em; -} -.kachel[data-gross="ja"] .kachel__wert { font-size: 2.6rem; } -.kachel[data-stufe="warn"] .kachel__wert { color: var(--warn); } -.kachel__name { - font-size: .72rem; font-weight: 700; letter-spacing: .07em; - text-transform: uppercase; color: var(--text-leise); -} -.kachel__zusatz { font-size: .76rem; color: var(--text-still); } + VORSICHT bei "kachel": Die Klasse gibt es auch auf der Startseite und + im Report, dort aber mit ganz anderen Regeln aus start.css bzw. + report.css. Diese Kopien hier galten nur fuer die Content-Seite; sie + zu loeschen ruehrt an die anderen beiden nicht. Genau deshalb steht + das hier: Wer spaeter ".kachel" sucht, findet drei Stellen. */ /* ---------- Säulen-Balance ------------------------------------------------ */ @@ -281,15 +264,10 @@ body.start { @media (max-width: 1100px) { .strecke { grid-template-columns: repeat(3, minmax(0, 1fr)); } - .kennzahlen { grid-template-columns: repeat(3, minmax(0, 1fr)); } - .kachel[data-gross="ja"] { grid-column: span 3; } } @media (max-width: 700px) { .strecke { grid-template-columns: 1fr; } - .kennzahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); } - .kachel[data-gross="ja"] { grid-column: span 2; } - .kachel[data-gross="ja"] .kachel__wert { font-size: 2.1rem; } /* Leere Spalten kosten auf dem Handy nur Platz zum Scrollen. */ .spalte:has(.spalte__leer) { display: none; } .balance__balken { height: 26px; } diff --git a/workspace/assets/js/content.js b/workspace/assets/js/content.js index 5b50a26d..a07f730c 100644 --- a/workspace/assets/js/content.js +++ b/workspace/assets/js/content.js @@ -65,49 +65,18 @@ return `${w}${t}.${m}.` + (z ? ' · ' + z.slice(0, 5) : ''); } - /* ---------- Kennzahlen --------------------------------------------------- + /* Die Kennzahlen-Reihe (Vorrat, Veroeffentlicht, Ideen, ohne Hook, + ueberfaellig) ist am 01.09.2026 entfallen -- auf Wunsch: "diese + Kisten sind jetzt ueberall zu viel, die sollen weg." - Keine Diagramme. Das sind Einzelwerte mit einer Handlung dahinter -- - dafuer ist eine Kachel die richtige Form, kein Balken mit einem Balken. */ + Sie hatte auch inhaltlich kein Recht mehr: Die Strecke darunter + zeigt Ideen, Produktion und Veroeffentlichtes ohnehin mit Zahl an + jeder Spalte. Zwei Zaehler fuer dieselbe Sache auf einem Bildschirm + sind einer zu viel -- und laufen frueher oder spaeter auseinander. - function kennzahlenZeigen() { - const k = $('kennzahlen'); - k.textContent = ''; - if (!zahlen || zahlen.leer) { k.hidden = true; return; } - - /* Der Vorrat ist die Leitzahl und steht deshalb als Erstes und - groesser. Er zaehlt NUR Gedrehtes und Fertiges -- eine Idee ist - kein Video. Wer Ideen mitzaehlt, fuehlt sich reich und steht am - Donnerstag ohne Material da. */ - const vorratText = zahlen.reichweiteTage === null - ? 'noch kein Tempo bekannt' - : zahlen.reichweiteTage === 0 - ? 'reicht keinen Tag mehr' - : `reicht noch etwa ${zahlen.reichweiteTage} Tag${zahlen.reichweiteTage === 1 ? '' : 'e'}`; - - const felder = [ - { wert: zahlen.vorrat, name: 'Vorrat', zusatz: vorratText, - stufe: zahlen.reichweiteTage !== null && zahlen.reichweiteTage < 3 ? 'warn' - : zahlen.vorrat === 0 ? 'warn' : 'gut', gross: true }, - { wert: zahlen.veroeffentlicht30, name: 'veröffentlicht', zusatz: 'in 30 Tagen' }, - { wert: (zahlen.stufen?.idee || 0), name: 'Ideen', zusatz: 'noch nicht angefasst' }, - { wert: zahlen.ohneHook, name: 'ohne Hook', zusatz: 'in Arbeit, aber ohne Aufhänger', - stufe: zahlen.ohneHook > 0 ? 'warn' : 'gut', ziel: 'hook' }, - { wert: zahlen.ueberfaellig, name: 'überfällig', zusatz: 'Termin vorbei, nicht draußen', - stufe: zahlen.ueberfaellig > 0 ? 'warn' : 'gut' }, - ]; - - for (const f of felder) { - const kachel = el('div', 'kachel'); - if (f.gross) kachel.dataset.gross = 'ja'; - if (f.stufe) kachel.dataset.stufe = f.stufe; - kachel.append(el('span', 'kachel__wert', String(f.wert))); - kachel.append(el('span', 'kachel__name', f.name)); - kachel.append(el('span', 'kachel__zusatz', f.zusatz)); - k.append(kachel); - } - k.hidden = false; - } + Die ABFRAGE bleibt: Aus derselben Antwort speist sich der + Saeulen-Balken darunter (70/20/10). Sie heisst jetzt zahlenLaden(), + weil "kennzahlenLaden" auf etwas zeigte, das es nicht mehr gibt. */ /* ---------- Säulen-Balance ----------------------------------------------- @@ -360,7 +329,7 @@ if (LEITUNG.has(ich.rolle) && creator.length > 1) { zeile.append(knopfGruppe('Creator', [['', 'Alle'], ...creator.map(([id, n]) => [String(id), n])], - filterCreator, (w) => { filterCreator = w; filterBauen(); streckeZeigen(); kennzahlenLaden(); })); + filterCreator, (w) => { filterCreator = w; filterBauen(); streckeZeigen(); zahlenLaden(); })); } if (saeulen.length) { const passend = filterCreator @@ -422,13 +391,12 @@ /* ---------- Laden -------------------------------------------------------- */ - async function kennzahlenLaden() { + async function zahlenLaden() { try { const p = filterCreator ? `?creator=${encodeURIComponent(filterCreator)}` : ''; const a = await hole('/workspace/api/content/kennzahlen' + p); if (!a.ok) return; zahlen = await a.json(); - kennzahlenZeigen(); balanceZeigen(); } catch { /* umgeleitet */ } } @@ -463,7 +431,7 @@ /* Sprung vom Bericht -- nach streckeZeigen(), vorher gibt es die Karten nicht. Nur beim ersten Laden. */ if (!gesprungen) { gesprungen = true; sprungZeigen(); } - await kennzahlenLaden(); + await zahlenLaden(); } /* Sprung vom Bericht (01.09.2026). Hervorheben statt filtern: Die diff --git a/workspace/aufgaben.html b/workspace/aufgaben.html index f275e95d..e82d3eae 100644 --- a/workspace/aufgaben.html +++ b/workspace/aufgaben.html @@ -7,9 +7,9 @@ - - - + + + @@ -139,9 +139,9 @@ - - - - + + + + diff --git a/workspace/automation.html b/workspace/automation.html index 5ac611e6..585031f2 100644 --- a/workspace/automation.html +++ b/workspace/automation.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -132,9 +132,9 @@ - - - - + + + + diff --git a/workspace/bereich.html b/workspace/bereich.html index 5a5d69aa..128b8ef2 100644 --- a/workspace/bereich.html +++ b/workspace/bereich.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -115,13 +115,13 @@ - - - - - - - - + + + + + + + + diff --git a/workspace/calls.html b/workspace/calls.html index 681b1ba0..a1fb4437 100644 --- a/workspace/calls.html +++ b/workspace/calls.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -54,10 +54,10 @@ - - - - - + + + + + diff --git a/workspace/content.html b/workspace/content.html index c42ada28..e1c1c276 100644 --- a/workspace/content.html +++ b/workspace/content.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -51,7 +51,9 @@ - +