nerdware/apps/web
AyoubBenziza 6251146c19 feat: replay from lobby, contributor mislead card, editable track cards
Return to lobby (replay without recreating the room):
- lobby:return (host): reset to lobby, scores to 0, keep players + tracks
- client: end screen has "Rejouer" (host) + "Quitter"; store clears transient
  game state whenever the room goes back to lobby

Contributor has nothing to input:
- round:start carries a private `mine: true` to the contributor only (via
  RoundStart.secretPlayerId targeted emit); they're excluded from eligible
  voters. Client shows a "fais-les se tromper" card instead of the vote form.

Editable track submission:
- submitTrack ack returns trackId + youtubeId; new blindtest:removeTrack
- lobby shows submitted tracks as cards (YouTube thumbnail + title) with delete

Verified e2e (3 players): add/remove, private mine flag, return-to-lobby reset.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 15:13:54 +02:00
..
src feat: replay from lobby, contributor mislead card, editable track cards 2026-06-10 15:13:54 +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: initial commit 2026-06-07 18:45:52 +02:00
package.json refactor(web): generate DiceBear avatars locally instead of via HTTP API 2026-06-09 10:58: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