import { lazy, Suspense } from 'react' import { TreePreviewPanel } from '@/components/tree-preview/TreePreviewPanel' import { FlowCanvas } from './FlowCanvas' import { NodeEditorPanel } from './NodeEditorPanel' import { MetadataSidePanel } from './MetadataSidePanel' import { useTreeEditorStore } from '@/store/treeEditorStore' import { cn } from '@/lib/utils' // Lazy load CodeModeEditor (Monaco is ~2MB) const CodeModeEditor = lazy(() => import('./code-mode/CodeModeEditor').then(m => ({ default: m.CodeModeEditor })) ) interface TreeEditorLayoutProps { isMobile?: boolean isMetadataOpen?: boolean onCloseMetadata?: () => void editingNodeId: string | null onNodeSelect: (nodeId: string | null) => void onSelectAnswerType: (nodeId: string, type: 'decision' | 'action' | 'solution') => void } export function TreeEditorLayout({ isMobile = false, isMetadataOpen = false, onCloseMetadata = () => {}, editingNodeId, onNodeSelect, onSelectAnswerType, }: TreeEditorLayoutProps) { const editorMode = useTreeEditorStore(s => s.editorMode) return (