feat(web): add minimal playable quiz at /play
- Add Vite proxy for /api → localhost:3000 (no CORS needed in dev) - Create /play route with hardcoded game settings (en→it, nouns, easy) - Three-phase state machine: loading → playing → finished - Show prompt, optional gloss, and 4 answer buttons per question - Submit answers to /api/v1/game/answer, show correct/wrong feedback - Manual Next button to advance after answering - Score screen on completion - Add selectedOptionId to AnswerResult schema (discovered during frontend work that the result needs to be self-contained for rendering feedback without separate client state) Intentionally unstyled — component extraction and polish come next.
This commit is contained in:
parent
075a691849
commit
ea33b7fcc8
6 changed files with 151 additions and 3 deletions
|
|
@ -52,6 +52,7 @@ export const AnswerResultSchema = z.object({
|
|||
questionId: z.uuid(),
|
||||
isCorrect: z.boolean(),
|
||||
correctOptionId: z.number().int().min(0).max(3),
|
||||
selectedOptionId: z.number().int().min(0).max(3),
|
||||
});
|
||||
|
||||
export type AnswerResult = z.infer<typeof AnswerResultSchema>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue