Jeder hat einen Steckbrief -- und die Kacheln stehen in der richtigen Reihenfolge

Filipe: "jeder soll ein steckbrief haben, jeder der ein account hat,
rechte hand, modis und community, jeder soll genau wie ich foto und so
hinzufuegen koennen." Und: "ich will das oben die sachen fuer dogfather
sind, dan die sachen fuer modis und dan community bereich."

1. JEDER HAT EINEN STECKBRIEF.

In rechte.js fehlte "gast" -- und damit ausgerechnet die groesste
Gruppe. Die Seite selbst konnte es die ganze Zeit: `/mein` fragt nach
der eigenen Nummer und kennt gar keine Rolle. Es fehlte nur die Tuer
und die Kachel.

DABEI EIN ZWEITER FUND, der schon laenger da war: In
assets/js/steckbrief.js stand eine Liste aus drei Gruppen (Management,
Scouting, Creator). Wer in keine passte, verschwand LAUTLOS aus der
Uebersicht -- betroffen waren die rechte Hand und die Modis. Ein Modi,
der die Seite oeffnete, sah seine eigenen Leute nicht. Kein Fehler,
keine leere Liste, sie waren einfach nicht da.

Die Zuordnung kommt jetzt vom Server (`abschnittFuer`). Damit kann sie
nicht mehr veralten, und in der ausgelieferten Datei steht keine Liste
von Rollennamen mehr -- was ohnehin Hausregel ist. Wer kuenftig
vergessen wird, landet sichtbar unter "Weitere" statt zu verschwinden;
die Gegenprobe dafuer steht in der Pruefung.

"Wer hier mitarbeitet" heisst jetzt "Wer hier dabei ist" -- ein
Mitglied arbeitet nicht mit, es schaut zu.

2. DIE REIHENFOLGE.

Die Moderationskachel trug dieselbe Gruppe wie die sieben Bretter und
landete deshalb HINTER ihnen: Wer moderiert, musste an der ganzen
Community vorbeiscrollen. Sie hat jetzt eine eigene Gruppe und steht
davor.

ERST ZU VIEL GEMACHT, DANN KORRIGIERT: Mein erster Entwurf schrieb auch
die Reihenfolge der Arbeitsgruppen fest. Die ist an mehreren Stellen
bewusst gewaehlt und begruendet -- pruef-start-ansicht hat es sofort
gemeldet, zu Recht. Jetzt wandern nur noch Moderation, Community und
"Fuer dich" ans Ende; alles andere bleibt, wo es war.

3. ZWEI PRUEFUNGEN, DIE ZUFAELLIG GRUEN WAREN.

pruef-kachelraster zaehlte Reihen ueber die Y-Koordinate und wartete
feste 500 ms. Die Kacheln laufen aber gestaffelt ein -- mit einer
Gruppe mehr war die Messung zu frueh und meldete vier Reihen, wo drei
sind. Das Bildschirmfoto derselben Seite zeigte ein makelloses Raster.
Jetzt misst sie mit `reducedMotion: reduce`, also den Endzustand.

pruef-start-ansicht scrollte 600 px und nahm an, danach liege keine
Kachel mehr unter dem Zeiger. Dieselbe Falle wie eine feste
Umbruchschwelle: eine Rechnung von gestern. Sie fragt jetzt, was
gemeint ist -- leuchtet die ALTE Kachel noch?

GEMESSEN: pruef-jeder-hat-eine-seite (neu) 65 Pruefungen 0 Fehler,
pruef-steckbrief, pruef-start-ansicht, pruef-kachelraster,
pruef-community-sicht alle gruen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-19 01:40:16 +02:00
co-authored by Claude Opus 5
parent f30227c873
commit 63f2b2bc55
43 changed files with 1072 additions and 443 deletions
+54 -2
View File
@@ -255,8 +255,27 @@ for (const [breite, wie] of [[1440, "Computer"], [390, "Handy"]]) {
Sie hat deshalb ausdruecklich KEIN `gruppeNach` -- eine Gruppe ohne
Angabe haengt hinten an, und das ist hier die richtige Stelle. */
/* ACHT SEIT DEM 19.09.2026 -- "Moderation" kam dazu.
Filipe: "ich will das oben die sachen fuer dogfather sind, dan die
sachen fuer modis und dan community bereich."
Die Moderationskachel trug bis dahin dieselbe Gruppe wie die
sieben Bretter und verschwand deshalb HINTER ihnen. Jetzt hat sie
eine eigene Gruppe und steht davor -- wer moderiert, muss nicht an
der ganzen Community vorbeiscrollen, um an seine Arbeit zu kommen.
DIE BEGRUENDUNG OBEN GILT WEITER: Die Community steht trotzdem
ganz unten, denn dort stehen Namen und Saetze von Zuschauern. Die
Moderation davor ist kein Widerspruch dazu -- sie zeigt Vorgaenge,
keine Beitraege.
Und die Arbeitsgruppen behalten ihre gewachsene Reihenfolge: Die
Sortierregel in start.js schiebt ausdruecklich NUR die drei
hinteren ans Ende. Ein erster Versuch schrieb auch die vorderen
fest und hat diese Prueflinie sofort rot gemacht -- zu Recht. */
const ERWARTETE_GRUPPEN = ["Rund um das Team", "Täglich", "Rund um den Creator",
"Team & System", "Team Dogi", "Entwicklung & Nachwuchs", "Community"];
"Team & System", "Team Dogi", "Entwicklung & Nachwuchs", "Moderation", "Community"];
ok(JSON.stringify(r.gruppen.map((g) => g.name)) === JSON.stringify(ERWARTETE_GRUPPEN),
`${ERWARTETE_GRUPPEN.length} Gruppen in dieser Reihenfolge (${r.gruppen.map((g) => g.name).join(" · ")})`);
/* WIE VIELE KACHELN? Nicht abgeschrieben, sondern aus bereiche.js
@@ -696,7 +715,40 @@ console.log("\n=== Das Licht folgt dem Zeiger");
der haeufigste Fall. */
await seite.mouse.wheel(0, 600);
await seite.waitForTimeout(450);
ok(await anzahlAn() === 0, `nach dem Scrollen ist es aus (${await anzahlAn()})`);
/* GEFRAGT WIRD, WAS GEMEINT IST -- nicht, was bei einer bestimmten
Kachelzahl herauskam (19.09.2026).
Hier stand `anzahlAn() === 0`, mit der stillen Annahme: nach 600
px liegt unter dem Zeiger keine Kachel mehr. Das galt, solange
die Seite so lang war wie an dem Tag, an dem die Zeile
geschrieben wurde. Am 19.09. kam eine Gruppe dazu -- danach lag
dort eine ANDERE Kachel, sie leuchtete zu Recht, und die
Pruefung meldete einen Fehler am Licht, obwohl das Licht genau
das tat, was es soll.
Dieselbe Falle wie die feste Umbruchschwelle in der Kopfleiste:
eine Zahl, die eine Rechnung von gestern festhaelt. Also wird
jetzt gefragt, was wirklich gemeint ist: Die Kachel, die VORHER
unter dem Zeiger lag, darf danach nicht mehr leuchten -- und
wenn dort gar keine mehr liegt, darf ueberhaupt nichts leuchten. */
const unterZeiger = await seite.evaluate(([x, y]) => {
const e = document.elementFromPoint(x, y);
return !!(e && e.closest(".kachel"));
}, [k2.x + k2.width / 2, k2.y + k2.height / 2]);
/* Das Merkmal heisst `data-licht="an"` -- nachgesehen bei
`anzahlAn` ein paar Zeilen weiter oben, nicht geraten. */
const alteLeuchtet = await seite.evaluate(() =>
[...document.querySelectorAll(".kachel")][2]?.dataset.licht === "an");
if (unterZeiger) {
ok(!alteLeuchtet,
"nach dem Scrollen leuchtet die alte Kachel nicht mehr"
+ " (unter dem Zeiger liegt jetzt eine andere)");
} else {
ok(await anzahlAn() === 0,
`nach dem Scrollen ist es aus (${await anzahlAn()}, keine Kachel unter dem Zeiger)`);
}
/* WIEDER HOCH. Ohne das lagen die Kacheln fuer alle folgenden
Pruefungen 600 px weiter oben -- die naechste Pruefung bewegte den
Zeiger dann ins Leere und meldete einen Fehler, den es nicht gab. */