diff --git a/tools/community-blick.mjs b/tools/community-blick.mjs index 914ac208..c356fead 100644 --- a/tools/community-blick.mjs +++ b/tools/community-blick.mjs @@ -140,6 +140,13 @@ for (const b of BRETTER) { { 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 + seit heute nur, wenn es etwas zu filtern gibt -- sonst stand er + auf fuenf Brettern, die gar keine Zustaende kennen, und tat dort + nichts. Die Gefahr dabei: dass er auch dort verschwindet, wo er + gebraucht wird. Ein erledigter Wunsch beweist das Gegenteil. */ + d.prepare("UPDATE eintraege SET status = 'erledigt' WHERE bereich = 'wunsch'" + + " AND id = (SELECT MIN(id) FROM eintraege WHERE bereich = 'wunsch')").run(); d.prepare(`INSERT INTO eintraege (bereich, art, titel, text, datum, status, erstellt, erstellt_von) VALUES ('treff','frage',?,?,?, 'offen', ?, ?)`) .run("Kommt Casper auch mal in den Stream?", @@ -210,12 +217,26 @@ for (const b of BRETTER) { startkatalog: !!document.querySelector("#startkatalog")?.children?.length, leerText: document.querySelector(".leer, .leer-hinweis, .hinweis")?.textContent?.trim().slice(0, 80) || "", hoehe: document.body.scrollHeight, + /* Wie viele Filterknoepfe, und sind die Karten gleich hoch? */ + filterZahl: document.querySelectorAll('#filter button').length, + kartenHoehen: [...new Set([...document.querySelectorAll('.eintrag-karte')] + .map((k) => Math.round(k.getBoundingClientRect().height)))].length, + /* Der Kopf des Bretts: Was steht da, und wohin fuehrt der Link? */ + ober: document.querySelector('.brettkopf__ober, .ober')?.textContent?.trim() || '', + unter: document.querySelector('.brettkopf__unter, .unterzeile, .brettkopf p')?.textContent?.trim() || '', + kopflink: (() => { + const a2 = document.querySelector('.brettkopf a, .kopfkasten a'); + return a2 ? a2.textContent.trim() + ' -> ' + (a2.getAttribute('href') || '') : '(keiner)'; + })(), /* Sichtbare Sternchenpaare -- gemeint war Fettschrift. */ sternchen: (document.body.innerText.match(/\*\*/g) || []).length, })); console.log(`${b.padEnd(11)} „${z.titel}" · ${z.karten} Karten` + ` · Schreibfeld: ${z.schreibfeld ? "ja" : "NEIN"}` + ` · Karte ${z.hoeheJeKarte}px · melden: ${z.meldenGesamt}` + + ` · Filter: ${z.filterZahl} · Kartenhoehen: ${z.kartenHoehen}` + + ` + Kopf: „${z.ober}" / „${z.unter}" · Link: ${z.kopflink}` + (z.sternchen ? ` · STERNCHEN: ${z.sternchen}` : "") + (z.leerText ? ` · „${z.leerText}"` : "")); const pfad = `C:/Users/qciga/AppData/Local/Temp/comm-${b}${BREITE < 700 ? "-handy" : ""}.png`; diff --git a/workspace/app.webmanifest b/workspace/app.webmanifest index 8375e538..8b3aa0f9 100644 --- a/workspace/app.webmanifest +++ b/workspace/app.webmanifest @@ -22,25 +22,25 @@ }, "icons": [ { - "src": "/assets/img/app-symbole/workspace-192.png?v=202609182010", + "src": "/assets/img/app-symbole/workspace-192.png?v=202609182015", "sizes": "192x192", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/workspace-512.png?v=202609182010", + "src": "/assets/img/app-symbole/workspace-512.png?v=202609182015", "sizes": "512x512", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609182010", + "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609182015", "sizes": "192x192", "type": "image/png", "purpose": "maskable" }, { - "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609182010", + "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609182015", "sizes": "512x512", "type": "image/png", "purpose": "maskable" diff --git a/workspace/assets/css/bereich.css b/workspace/assets/css/bereich.css index c7c8f30e..8c5fab74 100644 --- a/workspace/assets/css/bereich.css +++ b/workspace/assets/css/bereich.css @@ -862,7 +862,14 @@ #liste[data-galerie="ja"] { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); - align-items: start; + /* GLEICH HOCH, nicht oben buendig (18.09.2026). + + Mit `start` endete jede Karte dort, wo ihr Text aufhoerte -- drei + nebeneinander hoerten auf drei verschiedenen Hoehen auf, und die + Reihe sah aus, als waere beim Laden etwas schiefgegangen. Eine + Galerie ist ein Raster; ungleiche Kanten liest man als Fehler, + nicht als Absicht. */ + align-items: stretch; } /* Der Bildstreifen auf einer Karte. */ diff --git a/workspace/assets/js/bereich.js b/workspace/assets/js/bereich.js index 68cf7822..fa662539 100644 --- a/workspace/assets/js/bereich.js +++ b/workspace/assets/js/bereich.js @@ -82,7 +82,32 @@ }; const $ = (id) => document.getElementById(id); + /* ---- DIE SIEBEN COMMUNITY-BRETTER (18.09.2026) ----------------- + + Sie hatten hier keinen Eintrag. Ein Mitglied sah deshalb nur: + + — TERMINE + Was ansteht + Hier schreibt das Team. + + Die Oberzeile ist eine Kategorie, kein Satz; darunter stand + ausschliesslich, OB man schreiben darf. Was das Brett IST und was + man damit tut, stand nirgends -- auf drei Brettern sogar + wortgleich dasselbe („Ab „Dabei" kannst du hier schreiben"). + + Jeder Satz sagt deshalb zwei Dinge: wofuer das Brett da ist und + was man hier konkret tut. Der Hinweis auf das Schreibrecht haengt + sich dahinter -- in dieser Reihenfolge, weil „was ist das hier" + vor „darf ich mitmachen" kommt. */ const UNTERZEILE = { + treff: 'Der offene Raum: Hallo sagen, fragen, loben – und sagen, wenn etwas nicht stimmt.', + anschlag: 'Was gerade gilt, kurz und an einer Stelle. Mehr als ein paar Sachen hängen hier nie.', + ansteht: 'Die nächsten Streams, Events und Turniere – mit Countdown, damit du nichts verpasst.', + wunsch: 'Was ihr euch wünscht. Drück „Will ich auch“ – danach wird sortiert, was am meisten gewollt ist.', + highlight: 'Eure Clips, Bilder und Fanart. Der Knopf führt zu TikTok – dort zählt das Liken wirklich.', + regeln: 'Wie es hier läuft – zum Nachschlagen, nicht zum Auswendiglernen. Oben steht, wo was steht.', + mitmachen: 'Wie du dazugehören kannst: was gerade gesucht wird und wie du dich meldest.', + live: 'Vorbereitung, Mitschrift und Auswertung – LIVE systematisch verbessern.', content: 'Ideen, Produktion und Veröffentlichtes an einer Stelle statt in Chats.', technik: 'Setups, Fehlerbilder und Lösungen pro Creator sauber dokumentiert.', @@ -1216,7 +1241,24 @@ return b; }; ziel.append(knopf('', 'Alle')); - ziel.append(knopf('offen', 'Nur offene')); + + /* „NUR OFFENE" NUR, WENN ES ETWAS ZU FILTERN GIBT (18.09.2026). + + Fuenf der sieben Community-Bretter kennen gar keine Zustaende -- + ein Clip ist nicht „offen" oder „erledigt". Der Knopf stand + trotzdem ueberall und tat dort nichts. Ein Knopf, der nichts + tut, kostet das Vertrauen in den naechsten: Man drueckt ihn, + nichts passiert, und beim uebernaechsten fragt man sich, ob man + etwas falsch macht. + + Dieselbe Regel wie bei der Kanalzeile: Sie erscheint nur, wenn + es mehr als eine Moeglichkeit gibt. + + `|| filter === 'offen'` ist kein Beiwerk: Ist der Filter aktiv, + sieht man gerade KEINE erledigten mehr -- der Knopf wuerde unter + der eigenen Hand verschwinden, und man kaeme nicht zurueck. */ + const gibtErledigte = eintraege.some((e) => e.status && e.status !== 'offen'); + if (gibtErledigte || filter === 'offen') ziel.append(knopf('offen', 'Nur offene')); for (const [wert, name] of Object.entries(einstellung.arten)) ziel.append(knopf(wert, name)); /* ---- UND DIE KANALZEILE, wenn hier Videos liegen ---------------- diff --git a/workspace/aufgaben.html b/workspace/aufgaben.html index 7e608cc3..3353b2c5 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 @@ - - - - - + + + + + diff --git a/workspace/automation.html b/workspace/automation.html index b7ed83cc..f40359f4 100644 --- a/workspace/automation.html +++ b/workspace/automation.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -168,10 +168,10 @@ - - - - - + + + + + diff --git a/workspace/befinden.html b/workspace/befinden.html index 41d97b87..ecb6f1ee 100644 --- a/workspace/befinden.html +++ b/workspace/befinden.html @@ -7,14 +7,14 @@ - - - - - - - - + + + + + + + + @@ -105,9 +105,9 @@ - - - - + + + + diff --git a/workspace/bereich.html b/workspace/bereich.html index 4a80cf18..e71e0c09 100644 --- a/workspace/bereich.html +++ b/workspace/bereich.html @@ -12,24 +12,24 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - + + + + + + - - + + - + @@ -251,14 +251,14 @@ - - - - - - - - - + + + + + + + + + diff --git a/workspace/bewerben.html b/workspace/bewerben.html index 80d78e7d..a9fc2eae 100644 --- a/workspace/bewerben.html +++ b/workspace/bewerben.html @@ -7,17 +7,17 @@ - - - - - - - - - + + + + + + + + + - + @@ -107,10 +107,10 @@ - - - - - + + + + + diff --git a/workspace/bewerbungen.html b/workspace/bewerbungen.html index 8c647944..35b43405 100644 --- a/workspace/bewerbungen.html +++ b/workspace/bewerbungen.html @@ -7,16 +7,16 @@ - - - - - - - - + + + + + + + + - + @@ -80,10 +80,10 @@ - - - - - + + + + + diff --git a/workspace/calls.html b/workspace/calls.html index eb18eabe..88b535a3 100644 --- a/workspace/calls.html +++ b/workspace/calls.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -89,11 +89,11 @@ - - - - - - + + + + + + diff --git a/workspace/chat.html b/workspace/chat.html index 97798eb4..0f3831a4 100644 --- a/workspace/chat.html +++ b/workspace/chat.html @@ -12,26 +12,26 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - + + + + - - - + + + - + @@ -341,15 +341,15 @@ - - - - + + + + - - + + diff --git a/workspace/content.html b/workspace/content.html index 6db56f06..12b00e61 100644 --- a/workspace/content.html +++ b/workspace/content.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -179,12 +179,12 @@ - - - - - - - + + + + + + + diff --git a/workspace/crew-index.html b/workspace/crew-index.html index b85d942d..cab2491e 100644 --- a/workspace/crew-index.html +++ b/workspace/crew-index.html @@ -36,15 +36,15 @@ - - - + + + - + @@ -339,6 +339,6 @@ - + diff --git a/workspace/crew.webmanifest b/workspace/crew.webmanifest index 5f241a83..cb6afc0a 100644 --- a/workspace/crew.webmanifest +++ b/workspace/crew.webmanifest @@ -22,25 +22,25 @@ }, "icons": [ { - "src": "/assets/img/app-symbole/crew-192.png?v=202609182010", + "src": "/assets/img/app-symbole/crew-192.png?v=202609182015", "sizes": "192x192", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/crew-512.png?v=202609182010", + "src": "/assets/img/app-symbole/crew-512.png?v=202609182015", "sizes": "512x512", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609182010", + "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609182015", "sizes": "192x192", "type": "image/png", "purpose": "maskable" }, { - "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609182010", + "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609182015", "sizes": "512x512", "type": "image/png", "purpose": "maskable" diff --git a/workspace/dateien.html b/workspace/dateien.html index d286c926..768e9e74 100644 --- a/workspace/dateien.html +++ b/workspace/dateien.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -108,10 +108,10 @@ - - - - - + + + + + diff --git a/workspace/entwicklung.html b/workspace/entwicklung.html index e1e6c3c3..8bb9062c 100644 --- a/workspace/entwicklung.html +++ b/workspace/entwicklung.html @@ -7,14 +7,14 @@ - - - - - - - - + + + + + + + + @@ -102,9 +102,9 @@ - - - - + + + + diff --git a/workspace/index.html b/workspace/index.html index fb1b7732..ee658c43 100644 --- a/workspace/index.html +++ b/workspace/index.html @@ -30,9 +30,9 @@ - - - + + + @@ -401,6 +401,6 @@ - + diff --git a/workspace/kalender.html b/workspace/kalender.html index 6656e2f1..8a354ead 100644 --- a/workspace/kalender.html +++ b/workspace/kalender.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -377,11 +377,11 @@ - - - - - - + + + + + + diff --git a/workspace/leistung.html b/workspace/leistung.html index 18b2d5e2..a4f6686e 100644 --- a/workspace/leistung.html +++ b/workspace/leistung.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -444,10 +444,10 @@ - - - - - + + + + + diff --git a/workspace/personen.html b/workspace/personen.html index 985be2ac..e8dc69e9 100644 --- a/workspace/personen.html +++ b/workspace/personen.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -423,10 +423,10 @@ - - - - - + + + + + diff --git a/workspace/profil.html b/workspace/profil.html index cf5902a3..7ca44ad9 100644 --- a/workspace/profil.html +++ b/workspace/profil.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -214,11 +214,11 @@ - - - - - - + + + + + + diff --git a/workspace/rechte.html b/workspace/rechte.html index dfa175fb..460fafce 100644 --- a/workspace/rechte.html +++ b/workspace/rechte.html @@ -7,14 +7,14 @@ - - - - - - - - + + + + + + + + @@ -134,9 +134,9 @@ Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, die seit dem 07.09. jede Seite danach absucht. --> - - - - + + + + diff --git a/workspace/report.html b/workspace/report.html index c63ec172..cbe3c03d 100644 --- a/workspace/report.html +++ b/workspace/report.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -106,11 +106,11 @@ - - - - - - + + + + + + diff --git a/workspace/scouting.html b/workspace/scouting.html index db3c7936..6bd90e8c 100644 --- a/workspace/scouting.html +++ b/workspace/scouting.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -173,10 +173,10 @@ - - - - - + + + + + diff --git a/workspace/start.html b/workspace/start.html index 9f3e2ce4..c149a629 100644 --- a/workspace/start.html +++ b/workspace/start.html @@ -12,21 +12,21 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - + + + + - - + + - + @@ -674,10 +674,10 @@

- - - - - + + + + + diff --git a/workspace/startcheck.html b/workspace/startcheck.html index 6c186247..f61922d3 100644 --- a/workspace/startcheck.html +++ b/workspace/startcheck.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -85,11 +85,11 @@ - - - - - - + + + + + + diff --git a/workspace/steckbrief.html b/workspace/steckbrief.html index 97e9b3d8..7dc9da84 100644 --- a/workspace/steckbrief.html +++ b/workspace/steckbrief.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -146,11 +146,11 @@ - - - - - - + + + + + + diff --git a/workspace/talente.html b/workspace/talente.html index fd623f76..f1f1db9a 100644 --- a/workspace/talente.html +++ b/workspace/talente.html @@ -7,18 +7,18 @@ - - - - - - + + + + + + - - - + + + @@ -111,9 +111,9 @@ - - - - + + + + diff --git a/workspace/team.html b/workspace/team.html index 02370658..5188c6d0 100644 --- a/workspace/team.html +++ b/workspace/team.html @@ -7,20 +7,20 @@ - - - - - - - + + + + + + + - + @@ -110,10 +110,10 @@ - - - - - + + + + + diff --git a/workspace/teamlage.html b/workspace/teamlage.html index 7780ca80..3ecbc0de 100644 --- a/workspace/teamlage.html +++ b/workspace/teamlage.html @@ -7,20 +7,20 @@ - - - - - - - + + + + + + + - + - - - - + + + + diff --git a/workspace/teilen.html b/workspace/teilen.html index 2871657e..3b5fdbe5 100644 --- a/workspace/teilen.html +++ b/workspace/teilen.html @@ -7,13 +7,13 @@ - - - - - - - + + + + + + + @@ -112,9 +112,9 @@ - - - - + + + + diff --git a/workspace/treff-moderation.html b/workspace/treff-moderation.html index d219df6b..6fba416d 100644 --- a/workspace/treff-moderation.html +++ b/workspace/treff-moderation.html @@ -7,14 +7,14 @@ - - - - - - - - + + + + + + + + @@ -126,9 +126,9 @@ - - - - + + + + diff --git a/workspace/treff-regeln.html b/workspace/treff-regeln.html index 0746cb4f..045c200a 100644 --- a/workspace/treff-regeln.html +++ b/workspace/treff-regeln.html @@ -7,18 +7,18 @@ - - - - - - - + + + + + + + - + @@ -211,10 +211,10 @@ Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, die seit dem 07.09. jede Seite danach absucht. --> - - - - - + + + + + diff --git a/workspace/uebersicht.html b/workspace/uebersicht.html index 30468f68..72fcda0d 100644 --- a/workspace/uebersicht.html +++ b/workspace/uebersicht.html @@ -12,22 +12,22 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - + + + + - - - + + + - + @@ -149,11 +149,11 @@ - + - - - - + + + + diff --git a/workspace/wissen.html b/workspace/wissen.html index b66b7332..d684172e 100644 --- a/workspace/wissen.html +++ b/workspace/wissen.html @@ -12,20 +12,20 @@ Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite eine Flaeche sind statt zweier. --> - - - - - - - + + + + + + + - + @@ -190,10 +190,10 @@ - - - - - + + + + +