import React, { useEffect, useState } from 'react'; import axios from 'axios'; import { Folder, Clock, ChevronRight, RefreshCw } from 'lucide-react'; import { motion, AnimatePresence } from 'framer-motion'; import FileViewer from './FileViewer'; const ResultList = ({ refreshTrigger }) => { const [folders, setFolders] = useState([]); const [selectedFolder, setSelectedFolder] = useState(null); const [loading, setLoading] = useState(false); const fetchFolders = async () => { setLoading(true); try { const response = await axios.get('http://localhost:8000/processed'); setFolders(response.data); } catch (error) { console.error("Failed to fetch processed folders", error); } finally { setLoading(false); } }; useEffect(() => { fetchFolders(); }, [refreshTrigger]); const formatDate = (timestamp) => { return new Date(timestamp * 1000).toLocaleString(); }; if (selectedFolder) { return setSelectedFolder(null)} />; } return (

Processed Batches

{folders.length === 0 && !loading && (

No processed files yet

)} {folders.map((folder, index) => ( setSelectedFolder(folder.id)} className="group cursor-pointer p-4 bg-gray-800/40 border border-gray-700/50 hover:bg-gray-800 hover:border-blue-500/30 rounded-xl transition-all duration-200" >

{folder.name}

{formatDate(folder.created)} {folder.file_count} files
))}
); }; export default ResultList;