import { useState, useEffect } from 'react'; import { FileText, MessageSquare, Calendar, Layers, Clock, ExternalLink, Search } from 'lucide-react'; import { fetchDocuments } from '../api'; export default function DocsLibrary({ token, onSelectChat, onLogout }) { const [documents, setDocuments] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); const [searchTerm, setSearchTerm] = useState(''); const loadDocs = async () => { setLoading(true); try { const data = await fetchDocuments(token); setDocuments(data.documents); } catch (err) { setError('Failed to load library'); if (err.status === 401 && onLogout) { onLogout(); } } finally { setLoading(false); } }; useEffect(() => { if (token) loadDocs(); }, [token, onLogout]); const filteredDocs = documents.filter(doc => doc.filename.toLowerCase().includes(searchTerm.toLowerCase()) || doc.session_title?.toLowerCase().includes(searchTerm.toLowerCase()) ); return (
Scanning your secure storage...
Upload documents in a chat to see them here.
| Document | Upload Date | Source Chat | Scale | Efficiency |
|---|---|---|---|---|
|
|
|
{doc.session_id ? ( ) : ( No Session )} |
|
|