import React, { useState } from 'react'; import { useUserStore } from '@/store/userStore'; import apiService from '@/services/api'; import { FileText, Download, FileSpreadsheet, Presentation, CheckCircle2 } from 'lucide-react'; const ReportsTab: React.FC = () => { const { isDark } = useUserStore(); const [reportType, setReportType] = useState('executive_summary'); const [format, setFormat] = useState('pdf'); const [generating, setGenerating] = useState(false); const [report, setReport] = useState(null); const cardBg = isDark ? 'rgba(255,255,255,0.03)' : '#ffffff'; const cardBorder = isDark ? 'rgba(255,255,255,0.06)' : 'rgba(0,0,0,0.06)'; const textPrimary = isDark ? '#f8fafc' : '#0f172a'; const textMuted = isDark ? '#94a3b8' : '#64748b'; const handleGenerate = async () => { setGenerating(true); try { const res = await apiService.generateSimulatorReport({ title: 'Scenario Simulator Report', report_type: reportType, format, }); setReport(res.data); } catch (err) { console.error(err); } finally { setGenerating(false); } }; return (
{/* Left Config */}

Export & Executive Reports

{[ { id: 'pdf', label: 'PDF Document', icon: FileText }, { id: 'excel', label: 'Excel (XLSX)', icon: FileSpreadsheet }, { id: 'pptx', label: 'PowerPoint', icon: Presentation }, ].map((item) => ( ))}
{/* Right Result Preview */}
{report ? (

Report Ready

{report.format}

{report.title}

Generated at: {new Date(report.created_at).toLocaleString()}

Download {report.format.toUpperCase()} File
) : (

Generate Executive Report

Select a report type and format to generate a ready-to-share executive report.

)}
); }; export default ReportsTab;