import React, { useState, useEffect } from 'react' import FileUpload from './FileUpload' import DocumentList from './DocumentList' import SearchBar from './SearchBar' import OcrAnalytics from './OcrAnalytics' import { Document, documentService } from '../services/api' function Dashboard() { const [documents, setDocuments] = useState([]) const [loading, setLoading] = useState(true) const [searchResults, setSearchResults] = useState(null) useEffect(() => { loadDocuments() }, []) const loadDocuments = async () => { try { const response = await documentService.list() setDocuments(response.data) } catch (error) { console.error('Failed to load documents:', error) } finally { setLoading(false) } } const handleUploadSuccess = (newDocument: Document) => { setDocuments(prev => [newDocument, ...prev]) } const handleSearch = async (query: string) => { if (!query.trim()) { setSearchResults(null) return } try { const response = await documentService.search({ query }) setSearchResults(response.data.documents) } catch (error) { console.error('Search failed:', error) } } const displayDocuments = searchResults || documents return (

Document Management

{!searchResults && (
)} {searchResults && (
)}
) } export default Dashboard