diff --git a/tools/community-blick.mjs b/tools/community-blick.mjs index c356fead..d31c1475 100644 --- a/tools/community-blick.mjs +++ b/tools/community-blick.mjs @@ -111,8 +111,12 @@ async function anmelden(rolle, code, host = "127.0.0.1") { /* ---- Das Team uebernimmt die Vorschlaege, damit nichts leer ist ---- */ const kAdmin = await anmelden("admin", "CODE-DOGI-0001"); -console.log("=== Startkatalog uebernehmen ==="); -for (const b of BRETTER) { +/* LEER=ja zeigt die Bretter, wie sie am ersten Tag aussehen. + Die Texte dafuer gibt es seit Langem -- gesehen hat sie noch + niemand, weil jede Messung vorher den Startkatalog uebernimmt. */ +const LEER = process.env.LEER === "ja"; +console.log(LEER ? "=== Startkatalog NICHT uebernehmen (leere Bretter) ===" : "=== Startkatalog uebernehmen ==="); +for (const b of LEER ? [] : BRETTER) { const a = await fetch(`${BASIS}/workspace/api/bereich/${b}/start`, { method: "POST", headers: { "Content-Type": "application/json", cookie: kAdmin, origin: BASIS }, @@ -137,7 +141,7 @@ for (const b of BRETTER) { Direkt in die Datenbank und nicht ueber die Schnittstelle: Ein frisches Mitglied darf sieben Tage lang nicht schreiben, und diese Regel soll gelten bleiben. */ -{ +if (!LEER) { const d = new DatabaseSync(DB); const wer = d.prepare("SELECT id FROM personen WHERE rolle = 'gast' AND name = 'Jonas'").get(); /* GEGENPROBE ZU „NUR OFFENE" (18.09.2026). Der Knopf erscheint diff --git a/workspace/app.webmanifest b/workspace/app.webmanifest index 8b3aa0f9..53c03c82 100644 --- a/workspace/app.webmanifest +++ b/workspace/app.webmanifest @@ -22,25 +22,25 @@ }, "icons": [ { - "src": "/assets/img/app-symbole/workspace-192.png?v=202609182015", + "src": "/assets/img/app-symbole/workspace-192.png?v=202609182022", "sizes": "192x192", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/workspace-512.png?v=202609182015", + "src": "/assets/img/app-symbole/workspace-512.png?v=202609182022", "sizes": "512x512", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609182015", + "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609182022", "sizes": "192x192", "type": "image/png", "purpose": "maskable" }, { - "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609182015", + "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609182022", "sizes": "512x512", "type": "image/png", "purpose": "maskable" diff --git a/workspace/assets/css/bereich.css b/workspace/assets/css/bereich.css index 8c5fab74..9b313a29 100644 --- a/workspace/assets/css/bereich.css +++ b/workspace/assets/css/bereich.css @@ -19,6 +19,30 @@ } .eintrag-titel { font-weight: 600; font-size: .96rem; flex: 1 1 240px; } +/* ---- DER KARTENKOPF AUF DEM HANDY (18.09.2026) -------------------- + + Am Rechner stehen Etikett, Titel und Zustand nebeneinander, und das + ist richtig. Auf 412 px hing es dagegen an der Länge des Etiketts: + Bei „SONSTIGES" passte der Titel noch daneben, und „Offen" rutschte + in die Zeile darunter. Bei „FÜR DEN STREAM" passte er nicht mehr -- + dann stand das Etikett allein oben und „Offen" plötzlich RECHTS vom + Titel. + + Fünf Karten untereinander sahen damit auf drei verschiedene Arten + aus, ohne dass sich inhaltlich etwas unterschied. Das liest man als + Unordnung, nicht als Information. + + Unter 560 px deshalb feste Reihenfolge: die Marken oben + nebeneinander, der Titel darunter über die volle Breite. Immer + gleich, unabhängig davon, wie lang das Etikett ist. */ +@media (max-width: 560px) { + .eintrag-kopf { align-items: center; row-gap: 6px; } + .eintrag-titel { flex: 1 1 100%; order: 2; } + .marke-art { order: 1; } + .wunsch-stand { order: 1; } + .bewertung { order: 3; } +} + .marke-art { padding: 1px 9px; border-radius: 999px; background: rgba(63, 189, 245, .14); color: #7fd2fb; diff --git a/workspace/assets/js/bereich.js b/workspace/assets/js/bereich.js index fa662539..a056d025 100644 --- a/workspace/assets/js/bereich.js +++ b/workspace/assets/js/bereich.js @@ -640,7 +640,6 @@ if (!stand && !e.termin) fuss.append(el('span', null, datum(e.datum))); if (LEITUNG.has(ich.rolle) && e.creator_name) fuss.append(el('span', null, '· ' + e.creator_name)); if (e.erstellt_name) fuss.append(el('span', null, '· von ' + e.erstellt_name)); - if (e.status === 'erledigt') fuss.append(el('span', null, '· erledigt')); /* ---- Der Treff ------------------------------------------------- @@ -661,6 +660,14 @@ fuss.append(el('span', 'treff-rolle', '· ' + e.erstellt_rolle_name)); } + /* „erledigt" ANS ENDE, nicht zwischen Name und Rolle (18.09.2026). + + Vorher stand dort „von Filipe · erledigt · DogFather" -- der + Rollenname gehört aber zum Namen davor, und „erledigt" ist eine + Aussage über den Eintrag, nicht über die Person. Dazwischen + gelesen wirkt es, als sei jemand erledigt. */ + if (e.status === 'erledigt') fuss.append(el('span', null, '· erledigt')); + if (treffBrett && lage) { const zeile = el('div', 'treff-knoepfe'); @@ -1233,6 +1240,22 @@ alles, sortiert und mit Überschriften. Die Sprungmarken bleiben -- sie sind das Inhaltsverzeichnis. */ if (NACH_ART[bereich]) { filter = ''; return; } + + /* ---- UND AUF EINEM LEEREN BRETT GAR KEINEN (18.09.2026) -------- + + Am ersten Tag steht auf jedem Brett ein Satz wie „Noch hat + niemand Hallo gesagt. Sei der Erste — ein Satz reicht." Darueber + standen fuenf Filterknoepfe: „Alle · Frage · Das war gut · …" + Filter fuer nichts. + + Das ist die schlechteste Stelle fuer Bedienelemente, die ins + Leere fuehren: Wer zum ersten Mal hier ist, soll den Satz lesen + und schreiben -- nicht ueberlegen, was die sechs Knoepfe tun. + + `!filter` ist wieder der wichtige Teil: Ist die Liste leer, WEIL + gefiltert wird, muss die Reihe stehen bleiben. Sonst kaeme man + nie wieder zu „Alle" zurueck. */ + if (!eintraege.length && !filter) return; const knopf = (wert, text) => { const b = el('button', 'schritt', text); b.type = 'button'; diff --git a/workspace/aufgaben.html b/workspace/aufgaben.html index 3353b2c5..06fc27c1 100644 --- a/workspace/aufgaben.html +++ b/workspace/aufgaben.html @@ -12,19 +12,19 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - + + + + + + - +
@@ -291,10 +291,10 @@ - - - - - + + + + +