From the second game of a series, a strip shows the series score and a box per game in the winner's colour, with the stores, who moved first and how it ended; a finished game opens its replay in a new tab. The game over card shows the series score too. Spectators see names.
19 lines
1.4 KiB
Markdown
19 lines
1.4 KiB
Markdown
# Rematch and series: tasks
|
|
|
|
Work through the tasks in order; each ends with its tests passing and a commit. Tick a task when it is committed.
|
|
|
|
- [x] 1. **Spec**: requirements, design and tasks.
|
|
- [x] 2. **Series in live games**: `Series`, `SeriesGame`, `BackendGame.series` and `firstSeat()`, the first seat in
|
|
`createMancalaGame`; `series` and `firstSeat` in `ClientGame` and `GameEndMessage`, `series` in snapshots (with
|
|
the restore of old snapshots); unit and serialisation tests.
|
|
- [x] 3. **Rematch requests**: `RematchOffers`, the four channels, the timers on the `Scheduler`, ending requests on
|
|
`new_game`, `new_bot_game` and going offline, the bot accepting at once; unit tests.
|
|
- [x] 4. **Saving**: `seriesId` in `GameRecord`, migration `004_series`, the repository; integration tests.
|
|
- [x] 5. **Core**: channel names, types, `getSeriesScore`, texts in English and Turkish; unit tests.
|
|
- [x] 6. **Web app, rematch**: the game page following `on_game_start` (`key={gameId}`), the game over card's rematch
|
|
states, "Play again" as a rematch, the score in two columns.
|
|
- [x] 7. **Web app, series strip**: `SeriesStrip`, the series score on the game over card, spectators.
|
|
- [ ] 8. **End to end and docs**: the Chrome tests from `design.md`; `AGENTS.md` (the specs list, rematch notes),
|
|
`TODO.md` (the out of scope items; remove "A rematch button" from Web redesign), the web redesign design's note
|
|
on the rematch button.
|