From 986e65f9ab7122995ae1d647df23d817cecf6816 Mon Sep 17 00:00:00 2001 From: Josh Kingsley Date: Wed, 29 Oct 2025 01:54:37 +0200 Subject: refactor(web): improve state management --- web/src/defaultDoc.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 web/src/defaultDoc.ts (limited to 'web/src/defaultDoc.ts') diff --git a/web/src/defaultDoc.ts b/web/src/defaultDoc.ts new file mode 100644 index 0000000..7409c1a --- /dev/null +++ b/web/src/defaultDoc.ts @@ -0,0 +1,42 @@ +import Ratio from "./math/Ratio"; +import { Cell, Doc } from "./types"; + +export default function defaultDoc(): Doc { + const defaultCells: Cell[] = Array.from({ length: 16 }, () => ({ + widthRatio: new Ratio(1, 16), + })); + + return { + grids: [ + { + id: window.crypto.randomUUID(), + baseCellSize: 42, + baseCellWidthRatio: new Ratio(1, 16), + parts: [ + { + rows: Array.from({ length: 4 }, () => ({ + cells: [...defaultCells], + })), + }, + ], + }, + { + id: window.crypto.randomUUID(), + baseCellSize: 42, + baseCellWidthRatio: new Ratio(1, 16), + parts: [ + { + rows: Array.from({ length: 2 }, () => ({ + cells: [...defaultCells], + })), + }, + { + rows: Array.from({ length: 2 }, () => ({ + cells: [...defaultCells], + })), + }, + ], + }, + ], + }; +} -- cgit v1.2.3