From 7bf0984698e43b9aa2dd879f65951318ed410390 Mon Sep 17 00:00:00 2001 From: Maze <167211895+mazeincoding@users.noreply.github.com> Date: Sat, 31 Jan 2026 00:20:04 +0100 Subject: codebase overhaul (#697) --- apps/web/src/stores/editor-store.ts | 129 +++++++++++++++--------------------- 1 file changed, 54 insertions(+), 75 deletions(-) (limited to 'apps/web/src/stores/editor-store.ts') diff --git a/apps/web/src/stores/editor-store.ts b/apps/web/src/stores/editor-store.ts index 9923aa87..5c4856d3 100644 --- a/apps/web/src/stores/editor-store.ts +++ b/apps/web/src/stores/editor-store.ts @@ -1,91 +1,70 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; -import { CanvasPreset } from "@/types/editor"; - -export type PlatformLayout = "tiktok"; - -export const PLATFORM_LAYOUTS: Record = { - tiktok: "TikTok", -}; +import type { TPlatformLayout } from "@/types/editor"; +import { DEFAULT_CANVAS_PRESETS } from "@/constants/project-constants"; +import type { TCanvasSize } from "@/types/project"; interface LayoutGuideSettings { - platform: PlatformLayout | null; + platform: TPlatformLayout | null; } interface EditorState { - // Loading states - isInitializing: boolean; - isPanelsReady: boolean; - - // Editor UI settings - canvasPresets: CanvasPreset[]; - layoutGuide: LayoutGuideSettings; - - // Actions - setInitializing: (loading: boolean) => void; - setPanelsReady: (ready: boolean) => void; - initializeApp: () => Promise; - setLayoutGuide: (settings: Partial) => void; - toggleLayoutGuide: (platform: PlatformLayout) => void; + isInitializing: boolean; + isPanelsReady: boolean; + canvasPresets: TCanvasSize[]; + layoutGuide: LayoutGuideSettings; + setInitializing: (loading: boolean) => void; + setPanelsReady: (ready: boolean) => void; + initializeApp: () => Promise; + setLayoutGuide: (settings: Partial) => void; + toggleLayoutGuide: (platform: TPlatformLayout) => void; } -const DEFAULT_CANVAS_PRESETS: CanvasPreset[] = [ - { name: "16:9", width: 1920, height: 1080 }, - { name: "9:16", width: 1080, height: 1920 }, - { name: "1:1", width: 1080, height: 1080 }, - { name: "4:3", width: 1440, height: 1080 }, -]; - export const useEditorStore = create()( - persist( - (set) => ({ - // Initial states - isInitializing: true, - isPanelsReady: false, - canvasPresets: DEFAULT_CANVAS_PRESETS, - layoutGuide: { - platform: null, - }, - - // Actions - setInitializing: (loading) => { - set({ isInitializing: loading }); - }, + persist( + (set) => ({ + isInitializing: true, + isPanelsReady: false, + canvasPresets: DEFAULT_CANVAS_PRESETS, + layoutGuide: { + platform: null, + }, + setInitializing: (loading) => { + set({ isInitializing: loading }); + }, - setPanelsReady: (ready) => { - set({ isPanelsReady: ready }); - }, + setPanelsReady: (ready) => { + set({ isPanelsReady: ready }); + }, - initializeApp: async () => { - console.log("Initializing video editor..."); - set({ isInitializing: true, isPanelsReady: false }); + initializeApp: async () => { + set({ isInitializing: true, isPanelsReady: false }); - set({ isPanelsReady: true, isInitializing: false }); - console.log("Video editor ready"); - }, + set({ isPanelsReady: true, isInitializing: false }); + }, - setLayoutGuide: (settings) => { - set((state) => ({ - layoutGuide: { - ...state.layoutGuide, - ...settings, - }, - })); - }, + setLayoutGuide: (settings) => { + set((state) => ({ + layoutGuide: { + ...state.layoutGuide, + ...settings, + }, + })); + }, - toggleLayoutGuide: (platform) => { - set((state) => ({ - layoutGuide: { - platform: state.layoutGuide.platform === platform ? null : platform, - }, - })); - }, - }), - { - name: "editor-settings", - partialize: (state) => ({ - layoutGuide: state.layoutGuide, - }), - } - ) + toggleLayoutGuide: (platform) => { + set((state) => ({ + layoutGuide: { + platform: state.layoutGuide.platform === platform ? null : platform, + }, + })); + }, + }), + { + name: "editor-settings", + partialize: (state) => ({ + layoutGuide: state.layoutGuide, + }), + }, + ), ); -- cgit v1.3.1