"use client"; import { useParams } from "next/navigation"; import { ResizablePanelGroup, ResizablePanel, ResizableHandle, } from "@/components/ui/resizable"; import { AssetsPanel } from "@/components/editor/panels/assets"; import { PropertiesPanel } from "@/components/editor/panels/properties"; import { Timeline } from "@/components/editor/panels/timeline"; import { PreviewPanel } from "@/components/editor/panels/preview"; import { EditorHeader } from "@/components/editor/editor-header"; import { EditorProvider } from "@/components/providers/editor-provider"; import { Onboarding } from "@/components/editor/onboarding"; import { MigrationDialog } from "@/components/editor/dialogs/migration-dialog"; import { usePanelStore } from "@/stores/panel-store"; import { usePasteMedia } from "@/hooks/use-paste-media"; import { MobileGate } from "@/components/editor/mobile-gate"; import { useState } from "react"; import { useEditor } from "@/hooks/use-editor"; import { Cancel01Icon } from "@hugeicons/core-free-icons"; import { HugeiconsIcon } from "@hugeicons/react"; import { Button } from "@/components/ui/button"; export default function Editor() { const params = useParams(); const projectId = params.project_id as string; return (
); } function DegradedRendererBanner() { const isDegraded = useEditor((e) => e.renderer.isDegraded); const [dismissed, setDismissed] = useState(false); if (!isDegraded || dismissed) return null; return (
For the best experience, open OpenCut in Chrome.
); } function EditorLayout() { usePasteMedia(); const { panels, setPanel } = usePanelStore(); return ( { setPanel("mainContent", sizes[0] ?? panels.mainContent); setPanel("timeline", sizes[1] ?? panels.timeline); }} > { setPanel("tools", sizes[0] ?? panels.tools); setPanel("preview", sizes[1] ?? panels.preview); setPanel("properties", sizes[2] ?? panels.properties); }} > ); }