Skip to content

[HT-66]: History list screen — browse saved matches, setup & outcome, delete #114

Description

@Maiz27

Parent

PRD-05: Game History & Replay — #111

What to build

A history screen that lists the player's saved matches by reading the lightweight summaries (no replay records loaded). Each entry shows the setup the match was played under (CPU difficulty, table strictness, deck count, joker count, opening requirement, Fifty timer) and how it ended (final scores, winner, the player's placement, round count), plus whether the coach was on.

The player can delete a match from history (removing both its summary and its replay record). A clear empty state appears when there are no saved matches yet. Entries that are flagged non-replayable still appear with their summary; their entry simply indicates replay is unavailable (the actual replay entry point arrives with the viewer slice).

Acceptance criteria

  • The history screen lists saved matches newest-first, rendered purely from summaries.
  • Each entry shows the full setup and the outcome (scores, winner, player placement, round count) and the coach-on indicator.
  • The player can delete an entry, which removes its summary and its replay record.
  • A first-run / no-games empty state is shown when history is empty.
  • A non-replayable entry is displayed with replay shown as unavailable rather than hidden.
  • The screen is reachable from the app's main navigation.
  • A thin widget scenario covers list rendering, the empty state, and delete, consistent with the project's test-layering approach.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ✅ readyWell-scoped, unblocked, and ready for implementation or review work to begin.🎨 designVisual design, interaction design, product tone, layout, animation, or design review work.💾 persistenceLocal storage for settings, preferences, match state, resume, or history.🔹 p2Normal-priority work that matters but does not block the immediate critical path.🖥️ uiFlutter screens, navigation, table layout, controls, feedback states, or responsive UI.🧩 featureA vertical slice that delivers user-visible behavior or playable product capability.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions