feat(catalog): GameCover-Widget mit einheitlichem Platzhalter (KAT-05, 2a Flutter) #52
No reviewers
Labels
No labels
epic/katalog
epic/konto
epic/partien
epic/querschnitt
epic/sammlung
needs-clarification
prio/could
prio/must
prio/should
size/l
size/m
size/s
size/xl
status/in-progress
status/ready-for-merge
status/spec-review
type/bug
type/epic
type/story
type/tech
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: cschlaefke/Shuffle#52
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/2a-game-cover"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Zusammenfassung
Refs #2 (KAT-05, PR 2a, Flutter-Anteil; bewusst kein
Closes). Das Backend von 2a (Datenmodell, Rechte, Startbestand-Werkzeug) kommt in einem eigenen PR, damit beide Teile einzeln reviewbar sind. Das ist eine Abweichung vom Spec-Schnitt „2a = ein PR" (docs/specs/2-katalog-daten.md § 8); der Cover-Teil ist vom Backend unabhängig.Änderungen
app/lib/core/widgets/game_cover.dart:GameCovermit den EingabenimageUrl(nullable),title,size(small 56 dp / large 160 dp, Seitenverhältnis 3:4) undtitleVisibleNearby.gameCoverPlaceholderLabelfür Platzhalter/Laden/Fehler,gameCoverLabelfür ein geladenes Bild); mit sichtbarem Titel daneben ausgeblendet.gameCoverPlaceholderLabel,gameCoverLabel),cacheWidthnach Gerätepixeln.gameCoverLabelundtitleVisibleNearby.Abweichungen von der Spec (bitte bestätigen)
gameCoverLabelund ParameternametitleVisibleNearby(Spec nennt beide nicht; als Zusatz in § 5 dokumentiert).Review
code-reviewer: CHANGES REQUESTED, keine Blocker (falsches Semantics-Label beim Laden, Testnamen ohne Kriterium-Referenz, fehlender Erfolgspfad-Test,cacheWidth, Doc-Hinweise); alles inf99c82beingearbeitet. Der Nacharbeits-Commit wurde nicht erneut durch einen Reviewer gelesen.Lokal ausgeführt (laut Entwickler)
dart format --set-exit-if-changed .ohne Änderung,flutter analyzeohne Befund,flutter test533 Tests grün.Nicht getestet
flutter build web; echte Screenreader (VoiceOver/TalkBack); echter Netzwerkabruf gegen Supabase Storage (signierte URLs, CORS) — gehört zu #3/#4.MediaQuery.disableAnimationswird nicht beachtet (nur als Hinweis dokumentiert); die Ladeanzeige läuft endlos,pumpAndSettlein Tests von #3/#4 läuft darum in einen Timeout, solange eine URL lädt.🤖 Generated with Claude Code
Review-Stand: Alle sieben Befunde des Reviews sind eingearbeitet (
f99c82b), die generierten l10n-Dateien sind regeneriert (13db8eb). CI auf13db8ebkomplett grün (flutter, web-build, supabase, supabase-tests, e2e).Nicht erneut von einem Reviewer gelesen: die Nacharbeit. Nicht getestet: Android, iOS, Web-Build mit echtem Bild, Screenreader, echter Netzwerkabruf, Optik.
Bitte bestätigen: Aufteilung von 2a in zwei PRs (#52 Widget, #53 Backend) statt eines PR sowie die Abweichungen
gameCoverLabelundtitleVisibleNearby. Merge durch Chris.