Die vier Call-Reiter stehen bei jeder Rolle -- und die Tagesliste bekommt die Fase

Filipe mit zwei Bildschirmfotos nebeneinander: "wieso bei den scouts so
und bei den manager so?" Bei Patrick stand EINE Tafel ueber die volle
Breite, bei Schulle vier nebeneinander.

DIE URSACHE war zweimal derselbe Satz Code an zwei Stellen in calls.js:

  `if (!liste.length) continue;`   eine leere Gruppe wurde nicht gebaut
  `... return;`                     sind ALLE leer, gab es nur einen Satz

Wer nichts Offenes hat, sah damit nicht "weniger", sondern eine anders
AUFGETEILTE Seite: Bei einer Tafel zieht sich diese ueber die ganze
Reihe. Genau derselbe Fehler wie bei den Aufgabenzahlen auf der
Startseite heute -- und dieselbe Loesung: Die Tafel bleibt stehen, wird
gedaempft und zeigt eine Null. "Protokoll fehlt: 0" ist eine Aussage,
ein fehlender Reiter ist keine. Leere Tafeln starten zugeklappt --
aufklappen wuerde nur eine leere Liste zeigen.

Der Hinweis "Noch keine Calls" bleibt, er ist nuetzlich, und steht jetzt
UEBER den vier Tafeln statt an ihrer Stelle.

DABEI EINEN ZWEITEN FEHLER GEBAUT UND GESEHEN: Der Hinweis wurde damit
zum Geschwister der Tafeln, und `.call-brett` ist ein Flex-Kasten in
EINER Reihe -- er nahm sich eine Spalte und quetschte die vier Tafeln
daneben auf je 80 px. Im Bildschirmfoto standen vier Stummel neben einem
breiten Satz. Behoben mit `flex-wrap: wrap` und voller Breite fuer den
Hinweis; nachgemessen stehen die vier jetzt bei je 280 px.

DAZU EIN BEFUND AUS DEM FORMVERGLEICH ueber alle fuenf Rollen:
`.tagesliste__punkt` (die Terminzeilen auf der Startseite) trug noch
runde Ecken -- direkt unter Kacheln mit Fase. Sie bekommt den Zuschnitt
von Hand, nicht ueber die Modulliste: `::before` traegt die Farbkante
links, die sagt, um welche Art Termin es geht, und die Modulliste
braucht dasselbe Pseudo-Element fuer ihre Eckwinkel.

NACHGEMESSEN ueber drei Rollen: scout 4 Reiter, admin 4, creator 4 --
alle mit derselben Aufteilung.
pruef-abbrechen-optik EXIT=0 (27), pruef-start-ansicht EXIT=0 (140),
pruef-css-klassen EXIT=0 (28).

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-08 18:03:54 +02:00
co-authored by Claude Opus 5
parent da274f7825
commit 4c0ff5caa9
3 changed files with 92 additions and 5 deletions
+35 -3
View File
@@ -471,6 +471,17 @@
ziel.textContent = '';
ziel.setAttribute('aria-busy', 'false');
/* GANZ LEER? DANN TROTZDEM DIE VIER REITER (08.09.2026).
Hier stand ein `return`: Sind alle vier Gruppen leer, wurde NUR
ein Satz gezeigt und die Seite bestand aus einer Zeile. Wer noch
keine Calls hat -- ein neuer Scout zum Beispiel -- sah damit eine
voellig andere Seite als alle anderen.
Der Hinweis bleibt, er ist nuetzlich. Er steht jetzt ZUSAETZLICH
ueber den vier gedaempften Reitern statt an ihrer Stelle: Man
sieht auf einen Blick, welche vier Faecher es gibt, dass alle
leer sind, und was zu tun ist, damit sich das aendert. */
if (!daten.offen.length && !daten.anstehend.length
&& !(daten.serien || []).length && !daten.erledigt.length) {
const leer = el('div', 'leer-hinweis');
@@ -479,7 +490,6 @@
a.href = 'kalender.html';
leer.append(a, document.createTextNode(' erscheinen automatisch hier.'));
ziel.append(leer);
return;
}
/* ===================================================================
@@ -525,9 +535,31 @@
kommt, der Dienst aber schon neu ist. Eine Oberflaeche, die
daran abstuerzt, waere der schlechtere Ausgang. */
const liste = daten[g.schluessel] || [];
if (!liste.length) continue;
/* ALLE VIER REITER STEHEN IMMER (08.09.2026).
Filipe, mit zwei Bildschirmfotos nebeneinander: "wieso bei den
scouts so und bei den manager so?" Bei Patrick stand EINE Tafel
ueber die volle Breite, bei Schulle vier nebeneinander.
Hier stand `if (!liste.length) continue;` -- eine leere Gruppe
wurde gar nicht erst gebaut. Wer nichts Offenes hat, sah
deshalb eine voellig andere Seite als jemand mit Eintraegen,
und zwar nicht "weniger", sondern anders AUFGETEILT: Bei einer
Tafel zieht sich diese ueber die ganze Reihe.
Derselbe Fehler wie bei den Aufgabenzahlen auf der Startseite,
nur an anderer Stelle -- und dieselbe Loesung: Die Tafel bleibt
stehen, wird GEDAEMPFT (siehe `[data-leer]` in calls.css) und
zeigt eine Null. "Protokoll fehlt: 0" ist eine Aussage, ein
fehlender Reiter ist keine.
Zugeklappt, wenn leer: Aufklappen wuerde nur eine leere Liste
zeigen. */
const leer = !liste.length;
const s = el('section', 'gruppe');
s.dataset.gruppe = g.schluessel;
if (leer) s.dataset.leer = 'ja';
/* JEDE TAFEL LAESST SICH ZUKLAPPEN, und der Zustand wird gemerkt
("so wie es einem lieb ist gerade"). Der Kopf ist der Schalter,
@@ -553,7 +585,7 @@
if (g.frage) koerper.append(el('p', 'block__frage', g.frage));
const schluessel = `calls:${g.schluessel}`;
let zu = g.schluessel === 'erledigt';
let zu = leer || g.schluessel === 'erledigt';
try {
const gemerkt = localStorage.getItem(schluessel);
if (gemerkt) zu = gemerkt === 'zu';