Skip to content

Frontend: mustering on game info and the create-game switch #1273

Description

@johnpooch

Goal

Show the mustering state on the game info screen and let players opt into it when creating a private game.

Context

Step 6 of the mustering series. Implementation on claude/game-mustering-state-ah1fw2 (PR #1235). Depends on step 4 for the wire fields; independent of step 5.

Approach

packages/web/src/components/GameStatusAlerts.tsx: a mustering alert saying the game is full and starts once every player confirms, with the action slot rendered beside it.

packages/web/src/screens/Home/GameInfo.tsx: a mustering branch on the action element offering "Confirm you're ready" (useGameMusterCreate, shown while musterStatus === "confirmation_required") and Leave, with share and invite hidden while mustering since the game is full.

packages/web/src/screens/Home/CreateGame.tsx: a "Confirm before start" switch after the committed-players setting — editable and default-off on private games, checked and disabled on public ones — plus musterRequired on the create payload.

Tests: the CreateGame — confirm before start switch block added to packages/web/src/screens/Home/CreateGame.test.tsx.

Screenshots are required in the PR description — see CLAUDE.md and the screenshots skill.

Note the one-step inconsistency this introduces: a public game created between steps 6 and 8 shows the switch on but gets muster_required=False, because the backend coercion does not land until step 8. Either accept that two-PR window, or have the frontend send musterRequired: true for public games from here — which is what the branch does (musterRequired: data.private ? data.musterRequired : true).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions