import React, { useState, useEffect } from 'react'; import axios from 'axios'; import { motion, AnimatePresence } from 'framer-motion'; import { FaHome, FaChartLine, FaFolderOpen, FaCog, FaFeatherAlt, FaFileUpload } from 'react-icons/fa'; import { BsThreeDots } from 'react-icons/bs'; import Dashboard from './components/Dashboard'; import Sidebar from './components/Sidebar'; import RightBar from './components/RightBar'; import UploadModal from './components/UploadModal'; const App = () => { const [reports, setReports] = useState([]); const [activeReport, setActiveReport] = useState(null); const [isUploadOpen, setIsUploadOpen] = useState(false); useEffect(() => { fetchReports(); }, []); const fetchReports = async () => { const res = await axios.get('http://localhost:5000/api/reports'); setReports(res.data); }; return (
{/* Left Sidebar (Nav) */} setIsUploadOpen(true)} /> {/* Main Content Area */}

Home

{activeReport ? ( setActiveReport(null)} /> ) : (

Select a report from the right sidebar or upload a new one.

)}
{/* Right Sidebar (Stored Files) */} setActiveReport(r)} /> {/* Upload Modal */} {isUploadOpen && ( setIsUploadOpen(false)} refresh={fetchReports} /> )}
); }; export default App;