diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-03-25 16:47:22 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-03-29 15:48:22 +0200 |
| commit | 8db3bead13441a5882d8689dfc6a9f09c82375d9 (patch) | |
| tree | e9d0cafa93904ffcbec3188c37961bcc16c6422d /apps/web/src/components/providers/editor-provider.tsx | |
| parent | 39ea298a9ccba3104c549c0ca079c231981811f5 (diff) | |
| download | opencut-8db3bead13441a5882d8689dfc6a9f09c82375d9.tar.gz | |
feat: masks, properties refactor, shaders, storage migrations, and more
Diffstat (limited to 'apps/web/src/components/providers/editor-provider.tsx')
| -rw-r--r-- | apps/web/src/components/providers/editor-provider.tsx | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/apps/web/src/components/providers/editor-provider.tsx b/apps/web/src/components/providers/editor-provider.tsx index 746cfd16..35e5dfba 100644 --- a/apps/web/src/components/providers/editor-provider.tsx +++ b/apps/web/src/components/providers/editor-provider.tsx @@ -3,13 +3,12 @@ import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { Loader2 } from "lucide-react"; +import { EditorCore } from "@/core"; import { useEditor } from "@/hooks/use-editor"; -import { - useKeybindingsListener, - useKeybindingDisabler, -} from "@/hooks/use-keybindings"; +import { useKeybindingsListener } from "@/hooks/use-keybindings"; +import { useKeybindingsStore } from "@/stores/keybindings-store"; import { useEditorActions } from "@/hooks/actions/use-editor-actions"; -import { prefetchFontAtlas } from "@/lib/fonts/google-fonts"; +import { loadFontAtlas } from "@/lib/fonts/google-fonts"; interface EditorProviderProps { projectId: string; @@ -17,23 +16,19 @@ interface EditorProviderProps { } export function EditorProvider({ projectId, children }: EditorProviderProps) { - const editor = useEditor(); + const activeProject = useEditor((e) => e.project.getActiveOrNull()); const router = useRouter(); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState<string | null>(null); - const { disableKeybindings, enableKeybindings } = useKeybindingDisabler(); - const activeProject = editor.project.getActiveOrNull(); + const { setLoadingProject } = useKeybindingsStore(); useEffect(() => { - if (isLoading) { - disableKeybindings(); - } else { - enableKeybindings(); - } - }, [isLoading, disableKeybindings, enableKeybindings]); + setLoadingProject(isLoading); + }, [isLoading, setLoadingProject]); useEffect(() => { let cancelled = false; + const editor = EditorCore.getInstance(); const loadProject = async () => { try { @@ -43,7 +38,7 @@ export function EditorProvider({ projectId, children }: EditorProviderProps) { if (cancelled) return; setIsLoading(false); - prefetchFontAtlas(); + loadFontAtlas(); } catch (err) { if (cancelled) return; @@ -76,7 +71,7 @@ export function EditorProvider({ projectId, children }: EditorProviderProps) { return () => { cancelled = true; }; - }, [projectId, editor, router]); + }, [projectId, router]); if (error) { return ( |
