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 */}
);
}