Add random faction deal and prediction draft

This commit is contained in:
Quintine committed 2026-10-28 00:16:04 +11:00
1 parent a244aeb5f8
commit 4dc2df2513
16 files changed
+819 -12

No files matched your search

+5 -1
View File
@@ -7,6 +7,7 @@ import { SeatConfirmation, type SeatConfirmationKind } from '@/components/seat-c
import { RoomEntryConfirmation } from '@/components/room-entry-confirmation';
import { RulesetControls } from '@/components/ruleset-controls';
import { TwoPlayerControls } from '@/components/two-player-controls';
import { FactionAllocation } from '@/components/faction-allocation';
import { randomId } from '@/lib/random-id';
import {
SeatHandoverSetup,
@@ -855,6 +856,7 @@ export default function Home() {
{!roomUnavailable && <div className="table-shell"><TwoPlayerControls
game={game}
disabled={busy || needsReconcile || checkingConnection || handoverPending || aiPermissionPending || claimUncertain || !!twoPlayerEntry || !!twoPlayerEntryProblem}
draftLocked={!!game.factionDraft}
pendingEntry={twoPlayerEntry !== null}
entryRoom={twoPlayerEntry?.room}
entryProblem={twoPlayerEntryProblem}
@@ -866,11 +868,13 @@ export default function Home() {
onRetry={() => { if (twoPlayerEntry) void dispatchControlledFaction(twoPlayerEntry, false); }}
retryDisabled={busy || needsReconcile || checkingConnection || handoverPending || aiPermissionPending || claimUncertain || !!twoPlayerEntryProblem || twoPlayerEntry?.room !== game.code}
/></div>}
{!roomUnavailable && <div className="table-shell"><FactionAllocation game={game} send={send}
busy={busy || needsReconcile || checkingConnection || handoverPending || aiPermissionPending || claimUncertain || !!twoPlayerEntry || !!twoPlayerEntryProblem} /></div>}
{roomUnavailable ? <main className="table-shell"><RemovedRoomNotice code={game.code} busy={busy || checkingConnection} onRetry={() => void reconnect()} onExit={exitTable} exitDisabled={handoverPending || aiPermissionPending || claimUncertain} /></main> : <GameTable
key={`${game.code}:${game.me}`}
game={game}
send={send}
busy={busy || needsReconcile || !!twoPlayerEntry || !!twoPlayerEntryProblem}
busy={busy || needsReconcile || !!twoPlayerEntry || !!twoPlayerEntryProblem || !!game.factionDraft}
onExit={exitTable}
exitDisabled={handoverPending || aiPermissionPending}
/>}