theme_guess/frontend/src/net
Gabriel Franco 8bb0c79659 feat(frontend): add matchmaking UI flow (Find Match)
Wires the Matchmaking menu section's Find Match button to the real
queue:join/queue:leave flow: a searching state with cancel, the
queue:banned countdown (banBanner.ts) with Find Match hidden until it
expires, a brief assigned-mode reveal on match:found, and the handoff
into MultiplayerMatch's two-phase init once round:start is known.
After a match ends (round:reveal + result dismissal, local quit, or
opponent quit via room:closed) the flow returns to the matchmaking
menu without re-queuing.

Also adds a shared GameClient singleton (net/client.ts) so every UI
flow that talks to the server reuses one connection.

Note: backend/src/matchmaking/queue.js actually sends round:start
before match:found (the reverse of PROTOCOL.md's documented order),
discovered via live two-tab testing against the real backend;
matchmakingFlow.ts tracks both messages independently so either
arrival order works.
2026-09-10 14:07:00 -03:00
..
client.ts feat(frontend): add matchmaking UI flow (Find Match) 2026-09-10 14:07:00 -03:00
identity.ts feat(frontend): add WebSocket client service with identity and typed messages 2026-09-10 11:54:48 -03:00
messages.ts feat(frontend): add WebSocket client service with identity and typed messages 2026-09-10 11:54:48 -03:00