Commit Graph

80 Commits

Author SHA1 Message Date
af0499d354 add bingo completion tests: tap-only, detection, scoring, redraw, announcements
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 11:44:20 +01:00
0784b4b077 fix TS errors: remove unused announcedBingo set, prefix unused playerId param
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:42:52 +01:00
dda8c4a2ef add bingo completion logic: tap-only, card storage, scoring across cards, redraw
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 11:25:30 +01:00
25f61d456c add completedBingoCard schema, request_new_bingo_card WS message 2026-03-13 11:23:10 +01:00
d3a5d08d6b add quiz components to leaderboard, route views
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 07:21:21 +01:00
43268d8d86 add QuizBuzzer, QuizHost, QuizDisplay components
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 07:18:18 +01:00
d11c7780e9 fix quiz questions type assertion for JSON import 2026-03-13 07:17:15 +01:00
634b953911 add quiz logic to GameManager, WS handler, quiz tests
- implement startQuizQuestion, buzz, judgeQuizAnswer, skipQuizQuestion
- add per-view quiz state builders (player, display, host)
- include quizPoints in leaderboard
- dispatch start_quiz_question, skip_quiz_question, buzz, judge_quiz_answer in WS handler
- override quiz question with full host view (text + answer) for host connections

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 07:16:34 +01:00
4ada13ca9f add quiz schemas to shared types: QuizQuestion, GameState fields, WS messages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 06:48:21 +01:00
8caf9ab2f3 add quiz questions data file (20 Eurovision questions)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 06:48:18 +01:00
48986137db show actual results summary on display in scoring/ended
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:18:57 +01:00
6cc164dfe5 show scored predictions in player route during scoring/ended
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:18:28 +01:00
ec7e6fd869 wire ActualResultsForm and prediction results in host route
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:18:15 +01:00
01f78e920e add prediction points to leaderboard display and explanation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:17:54 +01:00
3b470787b5 show correct/incorrect markers on locked predictions when results are in
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:17:20 +01:00
ef0f88551d add ActualResultsForm component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:16:58 +01:00
f390c21903 add submit_actual_results WS handler with validation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:14:43 +01:00
c7a11e80d3 add prediction scoring to GameManager with tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:14:28 +01:00
44ea815f95 add submit_actual_results WS message type
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:12:52 +01:00
00e17d1f28 add actual results schema, prediction points to leaderboard and game state
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:12:41 +01:00
4e06930796 remove Dish of the Nation from design spec, scoring config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:37:26 +01:00
38a0c9f55a fix host UX: revert act, inline open/close voting, larger bingo text, scoring explanation, simplify player list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:22:35 +01:00
f22dba6134 add jury rounds, jury votes, bingo cards DB tables
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:02:02 +01:00
60a5962519 integrate jury display, bingo announcements, leaderboard in display route
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:02:01 +01:00
a71308f6f0 integrate jury controls, bingo, leaderboard in host route
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:02:00 +01:00
611a1bf732 integrate jury voting, bingo tabs in player route
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:01:55 +01:00
c768d7340a add leaderboard component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:50:33 +01:00
f6223ae9fa add bingo display component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:50:33 +01:00
7f5dba6e03 add bingo card player component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:50:31 +01:00
8ee9295b4e add jury display component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:28:35 +01:00
094fd1feeb add jury host controls component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:28:34 +01:00
d247c2519e add jury voting player component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:28:33 +01:00
302f2e14c0 handle new jury, bingo WS message types in client
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:28:25 +01:00
ceba5521dc add jury voting, bingo WS message handlers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:51:32 +01:00
7cb52291f3 add getPlayerDisplayNames to RoomManager
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:50:51 +01:00
aedd3c032a extend GameManager game state with jury, bingo, leaderboard
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:50:43 +01:00
b79ddb9679 add bingo logic to GameManager with tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:50:07 +01:00
0703364945 add jury voting logic to GameManager with tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:49:17 +01:00
e48ee2ca35 add jury voting, bingo WS message types
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:45:35 +01:00
9ec0225e4b add jury, bingo, leaderboard schemas to shared game types
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:45:32 +01:00
c31f849de3 add bingo tropes data file (35 tropes)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 19:45:27 +01:00
6f1a63e4c9 fix stale act names in room-service.ts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:54:18 +01:00
4516d3743b delete dish components
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:46:57 +01:00
0561f9350b update routes: remove dish UI, update act refs, add copy-to-clipboard on lobby display
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:43:58 +01:00
42f032f67c use ACT_LABELS from shared constants in room header
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:41:49 +01:00
c49b41c64e add prediction submission checkmark to player list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:40:23 +01:00
4489c774e5 rewrite predictions form as tap-to-assign with 4 ranked slots
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:39:47 +01:00
f9e01f18fd simplify room store, remove dish message handlers from websocket hook
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:38:53 +01:00
aaee0f6b0d fix room manager test: update act names to match new constants
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:20:33 +01:00
ae88d0ad59 rewrite game manager tests for new prediction model
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:30:36 +01:00