Personen als Kacheln statt Zeilen

Filipe: "gestalte diese seite auch anders bitte. viel krasser geiler
uebersichtlicher." Auf das Angebot, die Rollen als Kacheln statt
Zeilen zu bauen: "will ich." Entwurf gezeigt, Antwort: "so live".

Eine Person war eine Zeile ueber die volle Breite -- links der Name,
darunter fuenf halbe Saetze, rechts die Knoepfe. Gemessen: 1128 x 74
px, eine pro Reihe, mit achthundert Pixeln Luft in der Mitte. Jetzt
368 x 221 px, drei nebeneinander: sechs Creator brauchen zwei Reihen
statt sechs.

Die Angaben stehen in einem Zahlenband statt als Satzreihe -- aus
"offene Aufgaben: 0 · 2 offene Sitzung(en) · betreut 3 Creator"
werden Felder mit grosser Zahl und kleinem Wort, in jeder Kachel an
derselben Stelle. Man vergleicht zwei Personen mit dem Auge, statt in
jeder Zeile an einer anderen Stelle nach derselben Zahl zu suchen.

Dazu: "vor 21 Tagen" statt "2026-09-15 00:26" (das genaue Datum bleibt
als Titel dran), ein Namenszeichen in der Rollenfarbe mit schmalem
Farbstreifen oben, und "gesperrt" als Marke in der Warnfarbe statt als
graues Wort zwischen fuenf grauen Woertern.

ES FAELLT NICHTS WEG. Name, Rolle, gesperrt, Anmeldung, Aufgaben,
Sitzungen, betreute Creator, zugeteilte Scouts, "gehoert zu", die
Zustaendigkeitsauswahl und alle Knoepfe -- die Messung prueft das
ausdruecklich mit, huebsch und unvollstaendig waere schlechter als
vorher.

Keine feste Spaltenzahl: "auto-fill" laesst den Browser rechnen, bei
1160 px sind es drei, bei 390 px eine. Eine Zahl waere die sechste
Wiederholung desselben Fehlers in diesem Haus.

Nebenbei zwei Altlasten: .marke-rolle und .betreuung__schild standen
auf 11,2 px, unter der Hausgrenze von 11,5. Mit Gegenprobe belegt,
dass das schon vorher so war -- jetzt .75rem.

Gemessen: 14 Messungen, 0 Befunde (1765 px und 390 px). Gruen:
pruef-personen-kachel (45), pruef-personen-liste, pruef-css-klassen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-24 00:33:09 +02:00
co-authored by Claude Opus 5
parent 14c8964b24
commit 362d883392
41 changed files with 827 additions and 613 deletions
+125 -11
View File
@@ -2,26 +2,119 @@
Personenverwaltung.
=================================================================== */
/* ==== PERSONEN ALS KACHELN (24.09.2026) =============================
Filipe: "gestalte diese seite auch anders bitte. viel krasser
geiler uebersichtlicher." Auf das Angebot, die Rollen als Kacheln
statt Zeilen zu bauen: "will ich."
WAS SICH AENDERT: Eine Person war eine Zeile ueber die volle Breite
-- links der Name, darunter fuenf halbe Saetze, rechts die Knoepfe.
Bei 1765 px lief dieselbe Zeile ueber 1160 px, mit achthundert
Pixeln Luft in der Mitte. Zehn Personen hiessen zehn Zeilen
untereinander, und wer zwei vergleichen wollte, musste in jeder
Zeile an einer anderen Stelle nach derselben Zahl suchen.
JETZT EIN RASTER AUS KACHELN. Drei bis vier nebeneinander statt
einer pro Zeile: Dieselben zehn Personen brauchen drei Reihen statt
zehn. Und in jeder Kachel steht jede Angabe an derselben Stelle --
die Zahlen fluchten untereinander, man sieht mit einem Blick, wer
sieben offene Aufgaben hat und wer keine.
ES FAELLT NICHTS WEG. Jede Angabe, die vorher in der Zeile stand,
steht auch jetzt da: Name, Rolle, gesperrt, letzte Anmeldung,
offene Aufgaben, Sitzungen, betreute Creator, zugeteilte Scouts,
Zugehoerigkeit, die Zustaendigkeitsauswahl und alle Knoepfe. */
.gruppe__raster {
display: grid; gap: 12px;
/* KEINE FESTE SPALTENZAHL. "auto-fill" laesst den Browser rechnen:
bei 1160 px sind es drei, bei 390 px eine. Eine Zahl hier waere
genau der Fehler, der in diesem Haus schon fuenfmal passiert ist
-- eine Rechnung von gestern, die still falsch wird. */
grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}
.person {
display: grid; gap: 4px 16px; align-items: center;
grid-template-columns: 1fr auto;
padding: 14px 16px; margin-bottom: 9px;
display: flex; flex-direction: column; gap: 11px;
padding: 14px 15px 13px; margin-bottom: 0;
background: var(--flaeche);
border: 1px solid var(--rand);
border-radius: var(--radius-klein);
/* Die Kacheln einer Reihe werden gleich hoch, damit die Knoepfe
unten fluchten (siehe margin-top bei .person__knoepfe). */
height: 100%;
}
/* DIE ROLLENFARBE ALS SCHMALER STREIFEN OBEN. Dieselben Farben, die
das Haus fuer die Rollen ohnehin fuehrt -- gedeckt beigemischt,
nicht als Leuchtbalken: Bei zehn Kacheln nebeneinander waere ein
voller Farbton Unruhe statt Ordnung. */
.person { --r: var(--text-still); }
.person[data-rolle="spicy"] { --r: var(--spicy-haupt); }
.person[data-rolle="admin"] { --r: var(--dogi-haupt); }
.person[data-rolle="manager"] { --r: var(--manager-haupt); }
.person[data-rolle="scout"] { --r: var(--scout-haupt); }
.person[data-rolle="creator"] { --r: var(--creator-haupt); }
.person { border-top: 2px solid color-mix(in srgb, var(--r) 50%, transparent); }
.person[data-aktiv="nein"] { opacity: .58; }
.person__name { font-weight: 600; font-size: .98rem; }
.person__innen { display: flex; flex-direction: column; gap: 11px; }
.person__zeile {
display: flex; flex-wrap: wrap; gap: 8px;
margin-top: 2px; font-size: .79rem; color: var(--text-still);
.person__kopf { display: flex; align-items: center; gap: 11px; min-width: 0; }
/* DAS NAMENSZEICHEN. Gab es bisher nur in der Ueberschrift einer
zugeklappten Gruppe. In der Kachel ist es das, woran man eine
Person wiedererkennt, bevor man den Namen gelesen hat. */
.person__zeichen {
flex: 0 0 auto;
width: 42px; height: 42px; border-radius: 50%;
display: grid; place-items: center;
font-size: .92rem; font-weight: 800; letter-spacing: .03em;
color: var(--r);
background: color-mix(in srgb, var(--r) 14%, transparent);
border: 1px solid color-mix(in srgb, var(--r) 32%, transparent);
}
.person__wer { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.person__name {
font-weight: 600; font-size: .98rem;
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.person__marken { display: flex; flex-wrap: wrap; gap: 5px; }
/* ---- Das Zahlenband ----
Ein Raster statt einer Reihe: So stehen die Felder in jeder Kachel
an derselben Stelle, auch wenn eine Person drei Felder hat und die
naechste fuenf. */
.person__werte {
display: grid; gap: 9px 10px;
grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
padding-top: 10px;
border-top: 1px solid color-mix(in srgb, var(--rand) 75%, transparent);
}
.person__wert { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.person__wert-zahl {
font-size: 1.22rem; font-weight: 700; color: var(--text); line-height: 1.15;
}
/* Die Zeitangabe ist keine Zahl -- sie darf nicht so schreien wie
eine, steht aber im selben Band. */
.person__wert--zeit .person__wert-zahl { font-size: .87rem; font-weight: 600; }
.person__wert-wort {
font-size: .75rem; color: var(--text-still); line-height: 1.25;
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.person__bezug { font-size: .79rem; color: var(--text-still); }
.marke-rolle {
padding: 1px 9px; border-radius: 999px;
font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
/* 11,2 px waren unter der Hausgrenze von 11,5 px (24.09.2026).
Gemessen, nicht gelesen: In der Kachel steht die Marke gross
genug neben dem Namen, um aufzufallen -- das war der Grund fuer
die kleine Schrift, und in einer Zeile mit fuenf grauen Saetzen
war er auch richtig. Hier braucht sie ihn nicht mehr. */
font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
/* Alle FUENF Rollen, aus den zentralen Farben (08.09.2026).
@@ -39,7 +132,22 @@
.marke-rolle[data-rolle="scout"] { background: color-mix(in srgb, var(--scout-haupt) 16%, transparent); color: var(--scout-haupt); }
.marke-rolle[data-rolle="creator"] { background: color-mix(in srgb, var(--creator-haupt) 16%, transparent); color: var(--creator-haupt); }
.person__knoepfe { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
/* DIE KNOEPFE STEHEN UNTEN, bei allen Kacheln einer Reihe auf
derselben Hoehe. "margin-top: auto" schiebt sie ans Ende der
Kachel, egal wie viele Felder darueber stehen. Und links statt
rechts: In einer 300 px breiten Kachel beginnt jede Zeile links,
eine rechtsbuendige Knopfreihe waere die einzige Ausnahme. */
.person__knoepfe {
display: flex; gap: 7px; flex-wrap: wrap;
justify-content: flex-start; margin-top: auto;
}
/* Gesperrt ist jetzt eine Marke in der Warnfarbe, kein graues Wort in
einer Reihe grauer Woerter. */
.marke-rolle[data-rolle="gesperrt"] {
background: color-mix(in srgb, var(--warn) 16%, transparent);
color: var(--warn);
}
/* ---------- Code-Anzeige ----------------------------------------------
@@ -105,7 +213,11 @@
eigener Vorgang. */
.betreuung { display: flex; align-items: center; gap: 9px; margin-top: 9px; flex-wrap: wrap; }
.betreuung__schild {
font-size: .7rem; font-weight: 700; letter-spacing: .07em;
/* Auch hier 11,2 px statt der 11,5 px, die im Haus die Untergrenze
sind (24.09.2026, beim Umbau gemessen). Beides zusammen -- Marke
und Schild -- waren die einzigen zwei Stellen auf der Seite
darunter. */
font-size: .75rem; font-weight: 700; letter-spacing: .07em;
text-transform: uppercase; color: var(--text-still);
}
.betreuung__wahl {
@@ -312,7 +424,9 @@
/* In der Personenliste liegen die Karten direkt untereinander; der
Abstand zur nächsten Rolle kommt von .gruppe selbst. */
.gruppe .person:last-child { margin-bottom: 0; }
/* (Der eigene Abstand der letzten Kachel ist entfallen -- die Kacheln
stehen in einem Raster mit "gap", keine hat mehr einen eigenen
Abstand nach unten.) */
/* Der Löschknopf. Ruhig wie die anderen, bis man ihn ansieht – dann
deutlich rot. Ein dauerhaft roter Knopf in jeder Zeile macht die