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:
@@ -217,14 +217,33 @@
|
||||
Wer wen sehen darf, entscheidet weiterhin der Server. Diese Seite
|
||||
zeigt nur, was sie bekommt. */
|
||||
|
||||
const ROLLEN_GRUPPEN = [
|
||||
{ name: 'Management', rollen: ['admin', 'manager'],
|
||||
text: 'Ansprechpartner für alles, was Freigaben oder Entscheidungen braucht.' },
|
||||
{ name: 'Scouting', rollen: ['scout'],
|
||||
text: 'Sie finden neue Creator und begleiten den Anfang.' },
|
||||
{ name: 'Creator', rollen: ['creator'],
|
||||
text: 'Die Leute, um die es geht.' },
|
||||
];
|
||||
/* DIE ABSCHNITTE KOMMEN JETZT VOM SERVER (19.09.2026).
|
||||
|
||||
Hier stand eine Liste aus drei Gruppen — Management, Scouting,
|
||||
Creator — und wer in keine davon passte, fiel LAUTLOS heraus.
|
||||
Betroffen waren die rechte Hand, die Modis und (seit heute) die
|
||||
Community: Ein Modi, der diese Seite öffnete, sah seine eigenen
|
||||
Leute nicht. Kein Fehler, keine leere Liste, sie waren einfach
|
||||
nicht da.
|
||||
|
||||
Zwei Fliegen: Die Zuordnung kann nicht mehr veralten, und in
|
||||
dieser Datei — die jeder Besucher herunterlädt — steht keine
|
||||
Liste von Rollennamen mehr.
|
||||
|
||||
Die REIHENFOLGE der Abschnitte ist die, in der der Server die
|
||||
Steckbriefe schickt (er sortiert nach Rolle). Eine zweite
|
||||
Sortierung hier wäre die, die damit auseinanderläuft. */
|
||||
function abschnitteBilden(liste) {
|
||||
const nach = new Map();
|
||||
for (const p of liste) {
|
||||
const name = p.abschnitt || 'Weitere';
|
||||
if (!nach.has(name)) {
|
||||
nach.set(name, { name, text: p.abschnitt_text || '', leute: [] });
|
||||
}
|
||||
nach.get(name).leute.push(p);
|
||||
}
|
||||
return [...nach.values()];
|
||||
}
|
||||
|
||||
async function teamBauen(ich) {
|
||||
const block = document.getElementById('team-block');
|
||||
@@ -244,9 +263,8 @@
|
||||
'Bild, Name und was jeder über sich geschrieben hat. Jeder pflegt seinen '
|
||||
+ 'eigenen Eintrag – schreiben kann hier niemand für einen anderen.';
|
||||
|
||||
for (const gruppe of ROLLEN_GRUPPEN) {
|
||||
const drin = liste.filter((p) => gruppe.rollen.includes(p.rolle));
|
||||
if (!drin.length) continue;
|
||||
for (const gruppe of abschnitteBilden(liste)) {
|
||||
if (!gruppe.leute.length) continue;
|
||||
|
||||
const kopf = document.createElement('div');
|
||||
kopf.className = 'team-gruppe';
|
||||
@@ -254,15 +272,19 @@
|
||||
h.className = 'team-gruppe__name';
|
||||
h.textContent = gruppe.name;
|
||||
kopf.append(h);
|
||||
const t = document.createElement('p');
|
||||
t.className = 'team-gruppe__text';
|
||||
t.textContent = gruppe.text;
|
||||
kopf.append(t);
|
||||
/* Ohne Text kein leerer Absatz -- der macht sonst eine Lücke,
|
||||
die aussieht, als fehle etwas. */
|
||||
if (gruppe.text) {
|
||||
const t = document.createElement('p');
|
||||
t.className = 'team-gruppe__text';
|
||||
t.textContent = gruppe.text;
|
||||
kopf.append(t);
|
||||
}
|
||||
ziel.append(kopf);
|
||||
|
||||
const reihe = document.createElement('div');
|
||||
reihe.className = 'team-reihe';
|
||||
for (const p of drin) reihe.append(karteBauen(p, ich));
|
||||
for (const p of gruppe.leute) reihe.append(karteBauen(p, ich));
|
||||
ziel.append(reihe);
|
||||
}
|
||||
block.hidden = false;
|
||||
|
||||
Reference in New Issue
Block a user