nerdware/apps/web
AyoubBenziza 03a0dfa998 feat: end-of-game round recap (all rounds with answers + scorers)
- shared: RoundRecap (+ scorers); game:end carries recap[]
- server: GameRound.recap(ctx) per mode (quiz: prompt + correct answer +
  image; blindtest: "title — artist" + addedBy + links); engine accumulates a
  history per round (with that round's scorers from the score deltas) and sends
  it at game:end
- client: GameEndView shows a collapsible "Récapitulatif des manches" — each
  round's label, answer, media thumbnail (image/youtube) and who scored
- engine test dummy round implements recap

Verified e2e: game:end recap lists every round with answer + scorers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 00:54:40 +02:00
..
src feat: end-of-game round recap (all rounds with answers + scorers) 2026-06-11 00:54:40 +02:00
.env.example feat(server,web): first real-time cycle — room create/join + lobby 2026-06-08 15:16:26 +02:00
components.json feat: initial commit 2026-06-07 18:45:52 +02:00
eslint.config.js feat: initial commit 2026-06-07 18:45:52 +02:00
index.html feat: "Images" as a distinct mode, refined lobby settings, upload button, app title 2026-06-10 23:31:30 +02:00
package.json feat(web): victory confetti on the end screen 2026-06-10 17:54:23 +02:00
tsconfig.app.json refactor(web): generate DiceBear avatars locally instead of via HTTP API 2026-06-09 10:58:23 +02:00
tsconfig.json feat: initial commit 2026-06-07 18:45:52 +02:00
tsconfig.node.json feat: initial commit 2026-06-07 18:45:52 +02:00
vite.config.ts feat: initial commit 2026-06-07 18:45:52 +02:00