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
+59 -2
View File
@@ -182,6 +182,63 @@
return offen.includes('/workspace/' + z2.split('?')[0]);
}
/* =====================================================================
DIE REIHENFOLGE DER GRUPPEN (19.09.2026)
Filipe: „ich will das oben die sachen für dogfather sind, dan die
sachen für modis und dan community bereich, und so soll die
reihenfolge überall perfekt ist, also mit dem was jede rolle eben
halt sieht. was sie nicht sehen sehen sie nicht."
BIS HEUTE ENTSCHIED DER ZUFALL. Die Gruppen kamen in der
Reihenfolge, in der die Kacheln zusammengesetzt wurden — und die
hängt davon ab, welche Liste an welche angehängt wurde. Beim Team
stand „Für dich" deshalb mitten zwischen der Arbeit, und die
Moderation ganz unten hinter allen sieben Brettern der Community.
JETZT GILT EINE ORDNUNG, und sie folgt Filipes Satz:
1. die eigene Arbeit (Täglich, Live, Creator, Entwicklung …)
2. die Arbeit am Treff (Moderation) — sieht nur, wer moderiert
3. der Raum der Zuschauer (Community)
4. das Eigene (Für dich)
„Was sie nicht sehen, sehen sie nicht" bleibt unberührt: Diese
Funktion sortiert nur, was ohnehin schon da ist. Wer keine
Moderationskachel bekommt, bekommt auch keine Gruppe dafür —
leere Gruppen fallen vorher heraus.
UNBEKANNTE GRUPPEN LANDEN BEI DER ARBEIT, nicht am Ende. Eine neu
erfundene Gruppe ist fast immer Arbeit; und sie am Ende
einzusortieren hieße, sie hinter dem Persönlichen zu verstecken,
wo sie niemand sucht. */
/* NUR DAS ENDE WIRD FESTGELEGT -- die Arbeitsgruppen behalten ihre
Reihenfolge.
Der erste Versuch schrieb auch die Arbeitsgruppen fest
(Täglich, Rund um das Team, …). Das war zu viel: Ihre Reihenfolge
ist an mehreren Stellen bewusst gewählt und mit Gründen versehen,
und eine Prüfung hat sie sofort als geändert gemeldet — zu Recht.
Wer eine bestehende Entscheidung überschreibt, ohne sie gelesen zu
haben, repariert nichts, sondern ersetzt sie durch seine eigene.
Also: Alles, was hier NICHT steht, bleibt, wo es war. Nur diese
drei wandern ans Ende, in genau dieser Folge. */
const GRUPPEN_ZULETZT = ['Moderation', 'Community', 'Für dich'];
function gruppenPlatz(name) {
const z = GRUPPEN_ZULETZT.indexOf(name);
return z >= 0 ? 1 + z : 0;
}
/** Sortiert die Gruppen, ohne innerhalb einer Gruppe etwas zu
* verschieben. `sort` ist seit ES2019 stabil — Kacheln gleicher
* Gruppe behalten also ihre Reihenfolge, und die ist an mehreren
* Stellen bewusst gewählt (die breite Treff-Kachel vorn). */
function nachOrdnung(gruppen) {
return [...gruppen].sort((a, b) => gruppenPlatz(a.name) - gruppenPlatz(b.name));
}
function eigeneGruppen(wer) {
const vomServer = ich && ich.bereiche;
if (Array.isArray(vomServer)) {
@@ -196,7 +253,7 @@
}
nach.get(b.gruppe).bereiche.push(b);
}
return [...nach.values()];
return nachOrdnung([...nach.values()]);
}
/* KACHELN, DIE DAZUKOMMEN (10.09.2026).
@@ -252,7 +309,7 @@
if (nach >= 0) gruppen.splice(nach + 1, 0, neuGruppe);
else gruppen.push(neuGruppe);
}
return gruppen;
return nachOrdnung(gruppen);
}
let laufNr = 0;