diff --git a/server/workspace-zentrale.js b/server/workspace-zentrale.js index 2f4c01bb..883b89c6 100644 --- a/server/workspace-zentrale.js +++ b/server/workspace-zentrale.js @@ -295,6 +295,53 @@ zentraleRouter.get("/workspace/api/zentrale", (req, res) => { const heuteFertig = meineAufgaben.filter( (a) => String(a.erledigt_am || "").slice(0, 10) === heute).length; const dran = offenDran + heuteFertig; + /* ---- UND FUER DIE COMMUNITY ZAEHLT DER RING ETWAS ANDERES ---- + (18.09.2026) + + Er zaehlt AUFGABEN: was heute faellig war und was davon fertig + ist. Ein Mitglied der Community hat keine -- bei ihm stand + deshalb immer „100 % HEUTE NICHTS OFFEN", gross und in der + Mitte der Seite. Dieselbe tote Zahl wie „0 betreut" daneben, nur + auffaelliger. + + Was ein Mitglied an dieser Stelle wissen will, ist etwas + anderes: Laeuft heute noch etwas? Also zaehlt der Ring bei ihm + die TERMINE des Tages und faerbt, was davon schon vorbei ist. + Bei null Terminen sagt er das in Worten, statt eine Null als + Prozentzahl auszugeben. + + Woran erkannt: `freigabeBedingung` gibt nur fuer Leute von + aussen etwas zurueck -- dieselbe Frage wie bei der dritten Zahl + weiter unten, und wieder ohne Rollennamen. */ + if (freigabeBedingung(zeigt, "e")) { + const vorbei = meine.filter( + (t) => Number(String(t.beginn).slice(11, 13)) < stundeJetzt).length; + return res.json({ + art: "tag", + titel: meine.length + ? (vorbei === meine.length ? "Termine heute – alle vorbei" : "Termine heute") + : "Heute steht nichts an", + /* `mitte` statt einer Prozentzahl: „2" sagt hier mehr als + „50 %", und bei null Terminen ist jede Prozentangabe eine + Behauptung ueber nichts. */ + mitte: meine.length ? String(meine.length) : "–", + prozent: meine.length ? Math.round((vorbei / meine.length) * 100) : 0, + segmente, + zahlen: [ + { wert: meine.length, schild: "Termine heute" }, + { wert: meine.filter( + (t) => Number(String(t.beginn).slice(11, 13)) >= stundeJetzt).length, + schild: "kommt noch" }, + { wert: db().prepare( + `SELECT COUNT(*) AS n FROM eintraege e + WHERE e.bereich = 'wunsch' AND e.status = 'offen' AND ${ + freigabeBedingung(zeigt, "e").wo}`) + .get(...freigabeBedingung(zeigt, "e").werte).n, + schild: "Wünsche offen" }, + ], + }); + } + return res.json({ art: "tag", titel: dran ? "Heute geschafft" : "Heute nichts offen", diff --git a/workspace/app.webmanifest b/workspace/app.webmanifest index 6608434d..5fb5eef7 100644 --- a/workspace/app.webmanifest +++ b/workspace/app.webmanifest @@ -22,25 +22,25 @@ }, "icons": [ { - "src": "/assets/img/app-symbole/workspace-192.png?v=202609182204", + "src": "/assets/img/app-symbole/workspace-192.png?v=202609182214", "sizes": "192x192", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/workspace-512.png?v=202609182204", + "src": "/assets/img/app-symbole/workspace-512.png?v=202609182214", "sizes": "512x512", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609182204", + "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609182214", "sizes": "192x192", "type": "image/png", "purpose": "maskable" }, { - "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609182204", + "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609182214", "sizes": "512x512", "type": "image/png", "purpose": "maskable" diff --git a/workspace/assets/js/start.js b/workspace/assets/js/start.js index f921413a..0126db4e 100644 --- a/workspace/assets/js/start.js +++ b/workspace/assets/js/start.js @@ -1033,7 +1033,12 @@ svg.appendChild(svgEl('circle', { cx: px, cy: py, r: '3.4', fill: '#eaf4ff' })); } - $('zring-prozent').textContent = `${anteil} %`; + /* `mitte` schlaegt die Prozentzahl, wenn der Server eine schickt. + Fuer die Community steht dort die Zahl der Termine -- „2" sagt + mehr als „50 %", und bei null Terminen waere jede Prozentangabe + eine Behauptung ueber nichts. Fehlt das Feld, bleibt alles wie + bisher. */ + $('zring-prozent').textContent = daten.mitte ? String(daten.mitte) : `${anteil} %`; $('zring-unter').textContent = daten.titel || ''; } @@ -1297,6 +1302,12 @@ Kachel bleibt nur, wenn sie etwas zu zeigen hat. */ delete kachel.dataset.laedt; kachel.hidden = !etwasLinks && !etwasRechts; + + /* DIE ERKLAERUNG GEHT MIT. Sie beschreibt genau diesen Kasten -- + steht er nicht da, erklaert sie etwas, das es nicht gibt, und + man sucht danach. */ + const fuss = $('fuss-dran'); + if (fuss) fuss.hidden = kachel.hidden; } /** hh:mm aus einem Zeitstempel, ohne Zeitzonen-Rechnerei. diff --git a/workspace/aufgaben.html b/workspace/aufgaben.html index 7564cb8e..e86c2bda 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 4d4eb4a8..abc7b75a 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 5bd656af..4c67e032 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 5e8e719b..8348aa4e 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 59dc5313..039f13bd 100644 --- a/workspace/bewerben.html +++ b/workspace/bewerben.html @@ -7,17 +7,17 @@ - - - - - - - - - + + + + + + + + + - + @@ -108,10 +108,10 @@ - - - - - + + + + + diff --git a/workspace/bewerbungen.html b/workspace/bewerbungen.html index 8d5aab24..f8d9e647 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 21a96208..ceaf4b96 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 fea4e181..18671e02 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 76cd51c9..526c9120 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 77943269..ef717748 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 4630f41b..5a9fa25f 100644 --- a/workspace/crew.webmanifest +++ b/workspace/crew.webmanifest @@ -22,25 +22,25 @@ }, "icons": [ { - "src": "/assets/img/app-symbole/crew-192.png?v=202609182204", + "src": "/assets/img/app-symbole/crew-192.png?v=202609182214", "sizes": "192x192", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/crew-512.png?v=202609182204", + "src": "/assets/img/app-symbole/crew-512.png?v=202609182214", "sizes": "512x512", "type": "image/png", "purpose": "any" }, { - "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609182204", + "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609182214", "sizes": "192x192", "type": "image/png", "purpose": "maskable" }, { - "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609182204", + "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609182214", "sizes": "512x512", "type": "image/png", "purpose": "maskable" diff --git a/workspace/dateien.html b/workspace/dateien.html index c48a98a4..4e992b42 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 d02e869b..ad205734 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 91a5a9c6..e671f6a4 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 06052d34..4c490828 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 f041915c..a2df55df 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 a2cf94b0..70376eb9 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 d415c8a3..1eb95b37 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 91eb9acf..be14db3d 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 7b0e1434..d4390657 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 4bda3ba4..7f530e1e 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 3aba2530..e68b6e9d 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. --> - - - - + + + + - - + + - + @@ -667,17 +667,21 @@ start.js – dort steht auch, warum. -->
-

+ +

„Was ist dran" führt keine eigene Liste, sondern zeigt, was in den Bereichen schon liegt – ein Punkt verschwindet von selbst, sobald die Sache erledigt ist. Angezeigt wird nur, was du ohnehin sehen darfst.

- - - - - + + + + + diff --git a/workspace/startcheck.html b/workspace/startcheck.html index 3691455c..25a4754d 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 4ff2f720..464d73e9 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 eedef27f..57a5aee1 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 f2b1f9b8..467e91e5 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 fb1dd6ed..1e332597 100644 --- a/workspace/teamlage.html +++ b/workspace/teamlage.html @@ -7,20 +7,20 @@ - - - - - - - + + + + + + + - + - - - - + + + + diff --git a/workspace/teilen.html b/workspace/teilen.html index 6c6d456c..2a4feeae 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 5ef0e164..db09ddde 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 4c04231c..d97f5161 100644 --- a/workspace/treff-regeln.html +++ b/workspace/treff-regeln.html @@ -7,18 +7,18 @@ - - - - - - - + + + + + + + - + @@ -221,10 +221,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 27c3b0b2..b5c51d34 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 7781de26..7f052dfc 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 @@ - - - - - + + + + +