"use client"; import { useEffect } from "react"; import { useParams } from "next/navigation"; import { ResizablePanelGroup, ResizablePanel, ResizableHandle, } from "../../../components/ui/resizable"; import { MediaPanel } from "../../../components/editor/media-panel"; import { PropertiesPanel } from "../../../components/editor/properties-panel"; import { Timeline } from "../../../components/editor/timeline"; import { PreviewPanel } from "../../../components/editor/preview-panel"; import { EditorHeader } from "@/components/editor-header"; import { usePanelStore } from "@/stores/panel-store"; import { useProjectStore } from "@/stores/project-store"; import { EditorProvider } from "@/components/editor-provider"; import { usePlaybackControls } from "@/hooks/use-playback-controls"; export default function Editor() { const { toolsPanel, previewPanel, mainContent, timeline, setToolsPanel, setPreviewPanel, setMainContent, setTimeline, propertiesPanel, setPropertiesPanel, } = usePanelStore(); const { activeProject, loadProject, createNewProject } = useProjectStore(); const params = useParams(); const projectId = params.project_id as string; usePlaybackControls(); useEffect(() => { const initializeProject = async () => { if (projectId && (!activeProject || activeProject.id !== projectId)) { try { await loadProject(projectId); } catch (error) { console.error("Failed to load project:", error); // If project doesn't exist, create a new one await createNewProject("Untitled Project"); } } }; initializeProject(); }, [projectId, activeProject, loadProject, createNewProject]); return (
{/* Main content area */} {/* Tools Panel */} {/* Preview Area */} {/* Timeline */}
); }