Module 6: Lobby & Matchmaking System (frontend) - #12
Merged
Conversation
…eatures Adds LobbyPage, CreateLobbyModal, QuickMatchModal, and the lobby/ matchmaking API clients, error mappers, and types. Extends routes and shared types for lobby/matchmaking flows, gated behind the M8 match runtime dependency.
…ing pages Adds lobby/quick-match entry points to the dashboard, search results, game detail, and profile pages, and extends the friend invite modal to support inviting into an active lobby.
Covers CreateLobbyModal, LobbyPage, SearchResultsPage lobby entry points, and updates to DashboardFriends/GameDetailPage/InviteFriendModal tests for the new lobby wiring. Adds the module-06 end-to-end spec and fixes a locator regression in the module-04 game library end-to-end spec surfaced during the same verification pass. 243/243 Vitest, 2/2 e2e.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SimPle.BackendPR: Module 8 (match runtime) is not built yet, so Start/Quick-Match surfaces a runtime-unavailable state rather than a playable match.What changed
src/features/lobby/*(new:lobbyApi.ts,lobbyErrors.ts,types.ts) andsrc/features/matchmaking/*(new)src/components/lobby/{CreateLobbyModal.tsx,QuickMatchModal.tsx}src/lib/routes.ts,src/mock/lobbies.ts,src/types/index.ts— routing/type extensionssrc/features/dashboard/DashboardPage.tsx,src/features/search/SearchResultsPage.tsx,src/features/games/GameDetailPage.tsx,src/features/profile/ProfilePage.tsx,src/components/friends/InviteFriendModal.tsx(lobby invites)CreateLobbyModal,LobbyPage,SearchResultsPage), updated existing tests, newtests/e2e/module-06-lobby-matchmaking.spec.ts, and a locator fix intests/e2e/module-04-game-library.spec.tsfound during the same verification passTests
tsc, lint, and Next build all clean; contract-drift check: 0 drift (85 backend routes / 71 frontend calls)Security/docs
Risks/deferred
MatchRuntimeUnavailableoutcomes are reachable.SimPle.ProjectPR): WindowsspawnSync EINVALinrun-module-e2e.mjs, catalog seeder checksum fragility, aCreateLobbyModalaccessible-name bleed on the privacy toggle, a hardcoded placeholder link inSidebar.tsx, and an incomplete Module-4-originated.page-titlesweep.