feat(auth): Anmelde-Einstieg auf der Startseite (#49, PR A) #62

Merged
cschlaefke merged 2 commits from feature/49a-anmeldung-einstieg into main 2026-11-04 10:03:40 +00:00
Owner

Refs #49 (kein Closes: #49 schließt Chris nach PR B (App Links) und Gerätetest)

Spec: docs/specs/49-mobil-anmeldung-app-links.md (PR #55, von Chris freigegeben), Teil PR A „Einstieg“ (U1/A1/T1). PR B (Universal/App Links) folgt separat.

Inhalt

  • Hinweis-Karte SignInPrompt auf der Startseite für abgemeldete Nutzer mit „Anmelden“ und „Konto erstellen“, auf allen Plattformen inkl. Web (QUE-09 Krit. 13).
  • showSignInPromptProvider (bool): abgemeldet → true; angemeldet/Passwort-Recovery → false; Laden → false (kein Aufblinken bei gespeicherter Sitzung); Fehler im Statusstrom → true (nur Logging des Typs). HomeScreen ist ConsumerWidget und liest nur diesen Provider.
  • Texte de/en (signInPrompt*; englisch „…collection and plays“ laut Chris), generierte Dateien aktuell.
  • Barrierefreiheit: eigene Semantics-Knoten, 48-dp-Touch-Ziele, Kontrast, textScaler 2.0, Tastatur/Fokus im Web.
  • Tests: Unit (Provider), Widget (15+, alle Zustände, de/en, a11y-Guidelines, Tab/Enter/Leertaste, Scrollbarkeit), Playwright web (krit49-anmeldung-einstieg.spec.ts, 7 Tests). Doku: docs/design/auth-screens.md § 1/§ 3, e2e/README.md.
  • Keine neuen Pakete, keine Änderung an Auth-Redirect-Regeln.

Review

code-reviewer: APPROVE, kein Blocker. Er hat selbst 553 Flutter-Tests, Playwright (27/27) und eine Flakiness-Gegenprobe (Branch und main) ausgeführt; 7 von 9 Mutanten wurden erkannt, die zwei überlebenden sind in 7eaed46 adressiert bzw. gleichwertig. Eingearbeitet in 7eaed46: Fokus-Test und Leertaste, Scroll-Nachweis, Design-Doku, Aufräumen. Die Nacharbeit hat kein Reviewer erneut gelesen.

Bitte bestätigen

  • Texte (Vorschläge von flutter-dev in der ui-designer-Rolle): „Dein Konto“ / „Melde dich an, um deine Sammlung und Partien zu verwalten.“
  • Sekundärknopf ist ein themengestützter OutlinedButton (keine neue Komponente), in docs/design/auth-screens.md § 1 zugelassen.

Bekannt, nicht in diesem PR

  • #61: AppPrimaryButton verwirft die Fokus-Flags (Web/Screenreader), betrifft alle Auth-Screens; „Sign in“ bekommt deshalb nie DOM-Fokus.

Nicht getestet

Android, iOS, echter Screenreader (VoiceOver/TalkBack/NVDA), dunkles Theme im Web-Build (nur über textContrastGuideline), CI (noch nicht angesehen). Lokal laut Entwickler: dart format 0 Änderungen, flutter analyze ohne Befund, 554 Tests grün; nach 7eaed46 nur krit49 erneut gelaufen (7 passed).

🤖 Generated with Claude Code

Refs #49 (kein `Closes`: #49 schließt Chris nach PR B (App Links) und Gerätetest) Spec: `docs/specs/49-mobil-anmeldung-app-links.md` (PR #55, von Chris freigegeben), Teil PR A „Einstieg“ (U1/A1/T1). PR B (Universal/App Links) folgt separat. ## Inhalt - Hinweis-Karte `SignInPrompt` auf der Startseite für abgemeldete Nutzer mit „Anmelden“ und „Konto erstellen“, auf allen Plattformen inkl. Web (QUE-09 Krit. 13). - `showSignInPromptProvider` (bool): abgemeldet → true; angemeldet/Passwort-Recovery → false; Laden → false (kein Aufblinken bei gespeicherter Sitzung); Fehler im Statusstrom → true (nur Logging des Typs). `HomeScreen` ist `ConsumerWidget` und liest nur diesen Provider. - Texte de/en (`signInPrompt*`; englisch „…collection and plays“ laut Chris), generierte Dateien aktuell. - Barrierefreiheit: eigene Semantics-Knoten, 48-dp-Touch-Ziele, Kontrast, `textScaler` 2.0, Tastatur/Fokus im Web. - Tests: Unit (Provider), Widget (15+, alle Zustände, de/en, a11y-Guidelines, Tab/Enter/Leertaste, Scrollbarkeit), Playwright `web` (`krit49-anmeldung-einstieg.spec.ts`, 7 Tests). Doku: `docs/design/auth-screens.md` § 1/§ 3, `e2e/README.md`. - Keine neuen Pakete, keine Änderung an Auth-Redirect-Regeln. ## Review `code-reviewer`: APPROVE, kein Blocker. Er hat selbst 553 Flutter-Tests, Playwright (27/27) und eine Flakiness-Gegenprobe (Branch und `main`) ausgeführt; 7 von 9 Mutanten wurden erkannt, die zwei überlebenden sind in 7eaed46 adressiert bzw. gleichwertig. Eingearbeitet in 7eaed46: Fokus-Test und Leertaste, Scroll-Nachweis, Design-Doku, Aufräumen. Die Nacharbeit hat kein Reviewer erneut gelesen. ## Bitte bestätigen - Texte (Vorschläge von flutter-dev in der ui-designer-Rolle): „Dein Konto“ / „Melde dich an, um deine Sammlung und Partien zu verwalten.“ - Sekundärknopf ist ein themengestützter `OutlinedButton` (keine neue Komponente), in `docs/design/auth-screens.md` § 1 zugelassen. ## Bekannt, nicht in diesem PR - #61: `AppPrimaryButton` verwirft die Fokus-Flags (Web/Screenreader), betrifft alle Auth-Screens; „Sign in“ bekommt deshalb nie DOM-Fokus. ## Nicht getestet Android, iOS, echter Screenreader (VoiceOver/TalkBack/NVDA), dunkles Theme im Web-Build (nur über `textContrastGuideline`), CI (noch nicht angesehen). Lokal laut Entwickler: `dart format` 0 Änderungen, `flutter analyze` ohne Befund, 554 Tests grün; nach 7eaed46 nur `krit49` erneut gelaufen (7 passed). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
cschlaefke added 2 commits 2026-11-04 00:25:43 +00:00
Adds SignInPrompt (sign in / create account), showSignInPromptProvider,
HomeScreen as ConsumerWidget, l10n de/en, widget/unit tests and a
Playwright web test (#49 criterion 1, QUE-09 criterion 13, QUE-06).

Refs #49

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
test(auth): address review findings on sign-in prompt (PR A)
All checks were successful
CI / flutter (pull_request) Successful in 1m38s
CI / web-build (pull_request) Successful in 1m38s
CI / supabase (pull_request) Successful in 13s
CI / supabase-tests (pull_request) Successful in 35s
CI / e2e (pull_request) Successful in 2m58s
7eaed46dc2
Correct the focus comment (refs #61), test Space key and focus state,
prove scrollability at 200 percent text, drop needless minWidth, English
doc comment, allow OutlinedButton as secondary action in standalone cards,
English prompt text says plays instead of games.

Refs #49

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cschlaefke merged commit 21ed0588eb into main 2026-11-04 10:03:40 +00:00
cschlaefke deleted branch feature/49a-anmeldung-einstieg 2026-11-04 10:03:40 +00:00
Sign in to join this conversation.
No description provided.