ui/phase-12: order composer skeleton

OrderDraftStore persists per-game command drafts in Cache; the
sidebar Order tab renders the list with a per-row delete control.
The layout passes a `historyMode` prop through Sidebar / BottomTabs
as a constant `false`, so Phase 26 only flips the source.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Ilia Denisov
2026-05-08 23:26:58 +02:00
parent e5dab2a43a
commit 460591c159
18 changed files with 1022 additions and 53 deletions
@@ -13,6 +13,10 @@ interface DebugSnapshot {
deviceSessionId: string | null;
}
// Mirrors the surface mounted by `routes/__debug/store/+page.svelte`.
// Other Playwright specs (`game-shell.spec.ts`, `order-composer.spec.ts`)
// reuse the global declaration below, so this interface lists every
// helper any spec calls — not only those exercised by this file.
interface DebugSurface {
ready: true;
loadSession(): Promise<DebugSnapshot>;
@@ -23,6 +27,15 @@ interface DebugSurface {
message: number[],
signature: number[],
): Promise<boolean>;
seedOrderDraft(
gameId: string,
commands: ReadonlyArray<{
kind: "placeholder";
id: string;
label: string;
}>,
): Promise<void>;
clearOrderDraft(gameId: string): Promise<void>;
}
declare global {