"use client"; import React from 'react'; import dynamic from 'next/dynamic'; import { useEditorStore } from '@/store/editor-store'; import { FileTabs } from './FileTabs'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { useAppStore } from '@/store/app-store'; import { CrossPlatformPreview } from './CrossPlatformPreview'; import { NexusSyncMonitor } from './NexusSyncMonitor'; const MonacoEditor = dynamic(() => import('@monaco-editor/react'), { ssr: false }); export function CodeEditor() { const { openFiles, activeFileId, updateFileContent, saveFile } = useEditorStore(); const { editorTab, setEditorTab } = useAppStore(); const activeFile = openFiles.find((f: any) => f.id === activeFileId); React.useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { if ((e.metaKey || e.ctrlKey) && e.key === 's') { e.preventDefault(); if (activeFileId) { saveFile(activeFileId); } } }; window.addEventListener('keydown', handleKeyDown); return () => window.removeEventListener('keydown', handleKeyDown); }, [activeFileId, saveFile]); if (!activeFile && editorTab === 'editor') { return (
No file open
Select a file from the explorer to start editing