import { useState, useEffect } from 'react'; import FileUpload from './components/FileUpload'; import ChatWindow from './components/ChatWindow'; import DocumentList from './components/DocumentList'; import { listDocuments } from './services/api'; export default function App() { const [documents, setDocuments] = useState([]); const [isLoadingDocs, setIsLoadingDocs] = useState(true); const [sidebarOpen, setSidebarOpen] = useState(true); const fetchDocuments = async () => { try { setIsLoadingDocs(true); const result = await listDocuments(); setDocuments(result.documents || []); } catch (err) { console.error('Failed to fetch documents:', err); } finally { setIsLoadingDocs(false); } }; useEffect(() => { fetchDocuments(); }, []); const handleUploadSuccess = (doc) => { setDocuments((prev) => [...prev, doc]); }; const handleDocumentDeleted = (docId) => { setDocuments((prev) => prev.filter((d) => d.id !== docId)); }; return (
{/* Sidebar */} {/* Mobile sidebar toggle */} {!sidebarOpen && ( )} {/* Main Chat Area */}
0} />
); }