From 3e89d2998588f8e35c524e523ba2ee853f0f6475 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Mon, 20 Apr 2026 11:31:17 +0200 Subject: refactor: restructure files to their domains, new preview overlay system, and dep graph --- apps/web/src/editor/editor-store.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 apps/web/src/editor/editor-store.ts (limited to 'apps/web/src/editor/editor-store.ts') diff --git a/apps/web/src/editor/editor-store.ts b/apps/web/src/editor/editor-store.ts new file mode 100644 index 00000000..6b05e8bd --- /dev/null +++ b/apps/web/src/editor/editor-store.ts @@ -0,0 +1,24 @@ +import { create } from "zustand"; +import { DEFAULT_CANVAS_PRESETS } from "@/canvas/sizes"; +import type { TCanvasSize } from "@/project/types"; + +interface EditorState { + isInitializing: boolean; + isPanelsReady: boolean; + canvasPresets: TCanvasSize[]; + setInitializing: (loading: boolean) => void; + setPanelsReady: (ready: boolean) => void; + initializeApp: () => Promise; +} + +export const useEditorStore = create()((set) => ({ + isInitializing: true, + isPanelsReady: false, + canvasPresets: DEFAULT_CANVAS_PRESETS, + setInitializing: (loading) => set({ isInitializing: loading }), + setPanelsReady: (ready) => set({ isPanelsReady: ready }), + initializeApp: async () => { + set({ isInitializing: true, isPanelsReady: false }); + set({ isPanelsReady: true, isInitializing: false }); + }, +})); -- cgit v1.3.1