Doppeltes Rendern von Tabelle und Karten dokumentieren #28
Notifications
Total Time Spent: 5 minutes
florian.wilde
5 minutes
No due date set.
Dependencies
No dependencies set.
Reference: florian.wilde/betreuungs-cockpit#28
Reference in New Issue
Block a user
Problem
Mehrere Listen — die Dokumentenliste voran — rendern ihren Inhalt
zweimal: einmal als Tabelle für breite Fenster, einmal als Karten
fürs Handy. Eine der beiden ist per Breakpoint ausgeblendet, steht aber
im DOM.
Am Bildschirm sieht man davon nichts. Beim Testen schon: Ein
getByText(...).first()trifft die unsichtbare Kopie, und die Prüfungscheitert mit „element is not visible" — an einer Stelle, die
augenscheinlich in Ordnung ist. Das hat beim Schreiben der Tests
mehrfach Zeit gekostet, weil man den Grund nicht sieht, sondern erst
suchen muss.
Was ich will
doppelt gerendert wird und was das fürs Testen bedeutet
e2e/hilfen.ts) ein Hinweis auf das Muster,am besten mit dem Weg, der funktioniert (über den Seitentext oder die
Zusammenfassungszeile prüfen statt über das einzelne Element)
vermeiden lässt — eine Liste, die sich per CSS umbricht, wäre die
bessere Lösung, sofern die Tabelle das hergibt
Akzeptanzkriterien
e2e/hilfen.tsbeschreibt das Muster und den empfohlenen WegHinweis
Keine Migration, keine sichtbare Änderung für den Benutzer —
Wartbarkeit.
Angelegt auf Zuruf im Chat, nicht aus dem Dashboard — bitte in Nebula
nachtragen.
🤖 Claude Code hat mit der Umsetzung begonnen.
fix/28-doppeltes-renderndokument-liste.tsx(Karten am Handy, Tabelle ab Tablet).kalender-monat.tsxund das Stammdatenformular nutzen Breakpoints, rendern aber keinen Inhalt doppelt.e2e/hilfen.tsdas Muster beschreiben und den Weg zeigen, der funktioniert.display: blockauf den Tabellenzeilen, und das kostet die Semantik, von der die Bedienung mit Tastatur und Vorlesesoftware lebt. Wenn es dabei bleibt, schreibe ich die Begründung dazu, statt es offen zu lassen.Zeiterfassung läuft.
🚀 Umgesetzt und nach
mainübernommen.8517247Was geändert wurde
src/components/dokumente/dokument-liste.tsx: dass jeder Eintrag zweimal im DOM steht, was das fürs Testen bedeutet, und warum es so bleibt.e2e/hilfen.tsmit drei Wegen, die tragen:innerTextfür „steht das da",visible=truezum Klicken, die Zusammenfassungszeile für Anzahlen.Nachgemessen statt behauptet: An
/dokumentemit acht Dokumenten liefert ein Titel 16 Treffer, davon 8 sichtbar — und.first()ist die unsichtbare Kopie. Alle drei Rezepte habe ich ausprobiert, bevor sie in die Anleitung kamen.Zur dritten Frage aus dem Issue — ob sich die Verdopplung vermeiden lässt: nein, nicht ohne Verlust. Eine Tabelle, die zu Karten umbricht, verlangt
display: blockauf Zeilen und Zellen. Damit ist es keine Tabelle mehr: Vorlesesoftware verliert den Zusammenhang von Spaltenkopf und Wert, und genau der macht eine Liste mit acht Spalten erst benutzbar. Die Begründung steht jetzt am Code, statt die Frage offen zu lassen.Eine Korrektur an meinem eigenen Issue-Text: Ich hatte „mehrere Listen" geschrieben. Betroffen ist genau eine —
kalender-monat.tsxund das Stammdatenformular nutzen Breakpoints, ohne Inhalt doppelt zu rendern.So prüfst du es
git switch main && git pullsrc/components/dokumente/dokument-liste.tsxöffnen — der Hinweis steht im Kopfkommentar.e2e/hilfen.tsans Ende scrollen.Nur Kommentare, kein Verhalten geändert — weder Changelog noch Version.