# Fix Submit Deck Button

## Issue
Users reported that "Submit Deck" button was not working.

## Root Causes
1.  **Missing Event Handler**: The server was not listening for the `player_ready` event emitted by the client.
2.  **Incomplete Payload**: The client was sending `{ roomId, deck }` but the server needed `playerId` to identify who was ready, which was missing from the payload.
3.  **Missing State Logic**: The `RoomManager` did not have a concept of "Ready" state or "Playing" status, meaning the transition from Deck Building to Game was not fully implemented.

## Fixes
1.  **Client (`DeckBuilderView.tsx`)**: Updated `player_ready` emission to include `playerId`.
2.  **Server (`RoomManager.ts`)**: 
    -   Added `ready` and `deck` properties to `Player` interface.
    -   Added `playing` to `Room` status.
    -   Implemented `setPlayerReady` method.
3.  **Server (`index.ts`)**:
    -   Implemented `player_ready` socket handler.
    -   Added logic to check if *all* active players are ready.
    -   If all ready, automatically transitions room status to `playing` and initializes the game using `GameManager`, loading the submitted decks.
    -   ensured deck loading uses cached images (`card.image`) if available.

## Verification
1.  Draft cards.
2.  Build deck.
3.  Click "Submit Deck".
4.  Server logs should show "All players ready...".
5.  Client should automatically switch to `GameView` (Battlefield).
