Aufgabenbrett: eine Karte ist ein Stueck Arbeit, keine Tabellenzeile

Filipe: "so wie alles gerade ist ist es zu wenig und zu viel zu
gleich". Die Zahl dahinter, an der echten Datenbank gemessen: 115
offene Aufgaben -- aber nur 17 verschiedene. Jede stand acht Mal da.

URSACHE, nicht Symptom: Am 22.09.2026 wurde dieselbe Vorlage zweimal
verteilt, nachgemessen zwischen 16:05:24 und 16:05:53. Zweimal
gedrueckt, weil beim ersten Mal scheinbar nichts passierte. 56 der
115 Karten sind exakte Doppelte.

WAS SICH AENDERT

Aufgaben mit gleichem Titel, gleicher Frist und gleicher Kategorie
stehen jetzt als EINE Karte da: "0 von 8", ein Balken, und die Leute
als Pillen in ihrer Statusfarbe. Wer sie doppelt hat, traegt x2.

Der Hinweis auf die Doppelten steht EINMAL ueber dem Brett, mit Zahl
-- nicht siebzehnmal an den Karten. Eine Warnung, die auf jeder Karte
steht, ist Tapete (Lehre vom 03.09.2026).

Die Spalten wachsen nach dem, was sie tragen: "Offen" mit 17 Karten
bekam vorher genauso viel Platz wie "Erledigt" mit einer -- beide
369 px, gemessen. Innerhalb der Spalte legen sich die Karten
nebeneinander, sobald Platz da ist (auto-fill, keine feste Spaltenzahl).

Das Vorlagenbrett steht oben, solange das Brett leer ist, und wandert
darunter, sobald etwas daliegt. Die urspruengliche Begruendung ("wer
ein leeres Brett hat, soll nicht daran vorbeiscrollen") gilt nur fuer
den leeren Fall.

Am Handy wird aus "Wer hat gerade was" eine wischbare Reihe statt
gestapelter Pillen, mit Randschattierung als Hinweis, dass es
weitergeht.

GEMESSEN (echte Datenlage: 17 Vorlagen, vier Leute, doppelt verteilt)

  Computer  46 077 px -> 2 445 px   (18,8-fach kuerzer)
  Handy     44 216 px -> 5 763 px   ( 7,7-fach kuerzer)
  Brett beginnt am Handy bei 798 statt 901 px -- die erste Aufgabe
  ist damit ohne Scrollen sichtbar.

DREI BEFUNDE NEBENBEI, ALLE VON MIR

1. team.css: Der Schreiben-Knopf auf der Team-Lage stand bei 42 px.
   Am 22.09. habe ich beim Kartenumbau das Polster von 10 auf 9 px
   gesenkt und ihn damit unter die Hausregel gedrueckt. Jetzt
   min-height statt Polsterrechnung -- die Hoehe haengt nicht mehr
   daran, ob jemand spaeter an der Schriftgroesse dreht.

2. chat.css: Die Knoepfe der Aufnahmeleiste standen bei 40 px, der
   Weg-Knopf der GIF-Kiste bei 28. Beide in der Nacht zum 23.09.
   gebaut. Die Leiste bekommt volle 44 px; der GIF-Knopf bleibt klein
   sichtbar und waechst nur in der TREFFERFLAECHE (28 + 2x8 = 44),
   und das nur am Finger -- mit der Maus zielt man genau, eine
   unsichtbar vergroesserte Flaeche waere dort eine Falle.

3. pruef-chat-anhaenge meldete "aus der Kiste genommen (1 uebrig)".
   Kein Codefehler: Die Pruefung setzte `window.confirm = () => true`,
   und heute frueh ist dort der Hausdialog an die Stelle getreten. Sie
   klickte, die Seite fragte, niemand antwortete. Genau der Fall, vor
   dem der Kopf von helfer-nachfrage.mjs seit dem 19.09. warnt -- zum
   zweiten Mal, an einer neuen Stelle. Jetzt ueber `bestaetige`, und
   damit prueft die Zeile ab sofort mit, DASS gefragt wird.

PRUEFUNGEN

pruef-modi-katalog zaehlte Karten und erwartete +1. Seit der
Gruppierung ist das die alte Anordnung, nicht die Sache: Sie zaehlt
jetzt AUFGABEN ueber data-id/data-ids und meldet "2 -> 3 Aufgaben in
2 Karten" -- damit ist beides belegt, das Anlegen und das
Zusammenfassen.

Alles gruen: aufgabenbrett 49, zuteilung 75, bewerbung-aufgaben 101,
modi-katalog 125, chat-anhaenge 109, chat-optik 56, tippziele 11,
teamlage-karten 39, sprung 43, textform 50, formulare 23,
css-klassen 33, zeichen 7, ueberlappung (20 Paare).
Handy-Rundgang: 220 Seitenaufrufe, 112 776 Elemente, 0 Befunde.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-23 16:25:06 +02:00
co-authored by Claude Opus 5
parent 1851d447c3
commit b1319e3124
46 changed files with 1363 additions and 624 deletions
+44 -20
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609231200" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609231200" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609231200" />
<link rel="stylesheet" href="assets/css/start.css?v=202609231200" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609231200" />
<link rel="stylesheet" href="assets/css/module.css?v=202609231200" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609231624" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609231624" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609231624" />
<link rel="stylesheet" href="assets/css/start.css?v=202609231624" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609231624" />
<link rel="stylesheet" href="assets/css/module.css?v=202609231624" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609231200" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609231624" />
</head>
<body class="start">
@@ -48,12 +48,36 @@
</div>
</header>
<main class="inhalt inhalt--breit">
<!-- inhalt--brett: BREITER ALS DER REST DES HAUSES, und nur hier.
.inhalt--breit deckelt bei 1240 px. Das ist fuer Fliesstext
richtig -- eine Zeile ueber 90 Zeichen liest sich schlecht. Ein
BRETT ist aber kein Fliesstext, sondern eine Tabelle aus Karten:
Je mehr nebeneinander passen, desto weniger muss man scrollen.
Gemessen am 23.09.2026 auf einem 1600-px-Schirm: Der Inhalt war
1160 px breit, die volle Spalte davon 369 px -- Platz fuer genau
EINE Kartenreihe, und das Brett lief 5 600 px nach unten. Rechts
und links blieben zusammen 440 px leer.
Der Deckel bleibt trotzdem stehen. Ohne ihn zoegen die Karten auf
einem sehr breiten Schirm ueber zwei Meter auseinander, und der
Blick muesste wandern, statt zu erfassen. -->
<main class="inhalt inhalt--breit inhalt--brett">
<section class="kopf-zeile">
<div>
<p class="marke">Aufgaben</p>
<h1 class="titel">Offen. In Arbeit. Zur Freigabe. Erledigt.</h1>
<!-- Hier stand "Offen. In Arbeit. Zur Freigabe. Erledigt." --
also die Namen der vier Spalten, die drei Zeilen darunter
ohnehin dastehen. Eine Ueberschrift, die aufzaehlt, was man
gleich sieht, kostet Platz und gibt nichts zurueck; am
Handy brauchte sie zwei Zeilen.
Die neue sagt, wofuer die Seite da ist -- und beschreibt
genau das, was das Brett seit dem 23.09.2026 zeigt: ein
Stueck Arbeit, die Leute darauf, und wie weit sie sind. -->
<h1 class="titel">Wer macht was – und wie weit.</h1>
</div>
<button type="button" class="knopf knopf--klein" id="neu-oeffnen">Neue Aufgabe</button>
</section>
@@ -367,17 +391,17 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609231200"></script>
<script src="assets/js/meldung.js?v=202609231200" defer></script>
<script src="assets/js/hochladen.js?v=202609231200" defer></script>
<script src="assets/js/nachfrage.js?v=202609231200" defer></script>
<script src="assets/js/textform.js?v=202609231624"></script>
<script src="assets/js/meldung.js?v=202609231624" defer></script>
<script src="assets/js/hochladen.js?v=202609231624" defer></script>
<script src="assets/js/nachfrage.js?v=202609231624" defer></script>
<script src="assets/js/wahl.js?v=202609231200" defer></script>
<script src="assets/js/bereiche.js?v=202609231200" defer></script>
<script src="assets/js/installieren.js?v=202609231200" defer></script>
<script src="assets/js/kopf.js?v=202609231200" defer></script>
<script src="assets/js/glocke.js?v=202609231200" defer></script>
<script src="assets/js/zuteilung.js?v=202609231200" defer></script>
<script src="assets/js/aufgaben.js?v=202609231200" defer></script>
<script src="assets/js/wahl.js?v=202609231624" defer></script>
<script src="assets/js/bereiche.js?v=202609231624" defer></script>
<script src="assets/js/installieren.js?v=202609231624" defer></script>
<script src="assets/js/kopf.js?v=202609231624" defer></script>
<script src="assets/js/glocke.js?v=202609231624" defer></script>
<script src="assets/js/zuteilung.js?v=202609231624" defer></script>
<script src="assets/js/aufgaben.js?v=202609231624" defer></script>
</body>
</html>