+ Turn {G.turnNumber} — {ctx.phase ?? 'astrogation'} +
+ + {ship && ( ++ Fuel: {ship.fuel} / {ship.maxFuel} +
+ )} + + {G.winner !== null ? ( ++ {G.winner === playerID + ? 'You win!' + : G.winner === 'draw' + ? "It's a draw!" + : 'You lose.'} +
+ ) : isActive && !plot ? ( +Select your ship, then click a destination to plot your course.
+ ) : isActive && plot && !plot.locked ? ( + + ) : plot?.locked ? ( +Waiting for opponent…
+ ) : null} +Game board placeholder — Phase 1 will render the hex map here.
-Missing match ID.
; + + if (!stored) { + return ( ++ No seat found for this match — return to lobby +
+ ); + } + return ( -