add completedBingoCard schema, request_new_bingo_card WS message
This commit is contained in:
@@ -87,6 +87,15 @@ export const bingoCardSchema = z.object({
|
||||
|
||||
export type BingoCard = z.infer<typeof bingoCardSchema>
|
||||
|
||||
export const completedBingoCardSchema = z.object({
|
||||
playerId: z.string(),
|
||||
displayName: z.string(),
|
||||
card: bingoCardSchema,
|
||||
completedAt: z.string(),
|
||||
})
|
||||
|
||||
export type CompletedBingoCard = z.infer<typeof completedBingoCardSchema>
|
||||
|
||||
// ─── Quiz ────────────────────────────────────────────────────────
|
||||
|
||||
export const quizQuestionSchema = z.object({
|
||||
@@ -134,6 +143,7 @@ export const gameStateSchema = z.object({
|
||||
playerId: z.string(),
|
||||
displayName: z.string(),
|
||||
})),
|
||||
completedBingoCards: z.array(completedBingoCardSchema),
|
||||
// Quiz
|
||||
currentQuizQuestion: quizQuestionSchema.nullable(),
|
||||
myQuizBuzzStatus: z.enum(["can_buzz", "already_buzzed", "excluded", "waiting"]).nullable(),
|
||||
|
||||
@@ -54,6 +54,10 @@ export const tapBingoSquareMessage = z.object({
|
||||
tropeId: z.string(),
|
||||
})
|
||||
|
||||
export const requestNewBingoCardMessage = z.object({
|
||||
type: z.literal("request_new_bingo_card"),
|
||||
})
|
||||
|
||||
export const submitActualResultsMessage = z.object({
|
||||
type: z.literal("submit_actual_results"),
|
||||
winner: z.string(),
|
||||
@@ -90,6 +94,7 @@ export const clientMessage = z.discriminatedUnion("type", [
|
||||
closeJuryVoteMessage,
|
||||
submitJuryVoteMessage,
|
||||
tapBingoSquareMessage,
|
||||
requestNewBingoCardMessage,
|
||||
submitActualResultsMessage,
|
||||
startQuizQuestionMessage,
|
||||
buzzMessage,
|
||||
|
||||
Reference in New Issue
Block a user