- settings carry `categories` (empty = all); quiz/image pool filters by category
(DB + in-code bank), threaded through prepareQuizForRoom/loadGroup/loadQuizPool
- public GET /api/categories lists available categories
- lobby: category chips (Toutes + each), shown when quiz/images is active
- shared: RoomSettings.categories + UpdateSettingsPayload
Verified e2e: /api/categories returns the list; filtering by ["Pokémon"] serves
only Pokémon questions.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- end screen: wider container (max-w-4xl), podium/awards stay centered, and the
two long sections (musiques + récap des manches) sit side-by-side on desktop
- back-office: 2-column layout (form | questions list) on desktop, wider
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mixed settings fix:
- RoundConfig carries a `pool` hint (quiz | image) per quiz round; lobby shows
a separate count for each selected sub-mode (Quiz, Images) and the blindtest
config — not just the quiz one
- server pool composes the queue per round's pool (quiz formats vs image_reveal),
in order; verified e2e (2 quiz + 2 images honored)
Awards:
- "⚡ Le plus rapide" — derived client-side from the speed bonus baked into
quiz/image points (points above the 100 base on correct answers)
Desktop restyle:
- room page gets an ambient halo background and a responsive container
(lobby max-w-3xl with a 2-column players|settings grid, game/end max-w-lg)
- game/end views widened to max-w-lg
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>