import { Panel, PanelGroup, PanelResizeHandle } from 'react-resizable-panels'; import Sidebar from './Sidebar'; import MultiFileEditor from '@/components/editor/MultiFileEditor'; import LivePreview from '@/components/preview/LivePreview'; import TerminalPanel from '@/components/terminal/TerminalPanel'; import AIChatPanel from '@/components/ai/AIChatPanel'; import { useEnvStore } from '@/stores/envStore'; interface PanelLayoutProps { layout: 'editor' | 'split' | 'preview'; } function ResizeHandle({ direction = 'vertical' }: { direction?: 'vertical' | 'horizontal' }) { return (
); } export default function PanelLayout({ layout }: PanelLayoutProps) { const environment = useEnvStore((s) => s.environment); const renderSecondaryPanel = () => { if (environment === 'java' || environment === 'python') { return ; } return ; }; return ( {/* Left: Sidebar */} {/* Center: Editor + Preview */} {layout === 'editor' && } {layout === 'preview' && renderSecondaryPanel()} {layout === 'split' && ( {renderSecondaryPanel()} )} {/* Right: AI Chat */} ); }