import { Download, FileText } from 'lucide-react'; import { Button } from './ui/button'; import { AnalysisData } from '../types/analysis'; interface ExportReportProps { data: AnalysisData; } export function ExportReport({ data }: ExportReportProps) { const generateReport = () => { const reportContent = ` FINTECH DARK PATTERN DETECTION REPORT Generated: ${new Date(data.timestamp).toLocaleString()} ======================================================= EXECUTIVE SUMMARY ----------------- Trust Score: ${data.overallScore}/100 Risk Level: ${data.riskLevel.toUpperCase()} Dark Patterns Detected: ${data.darkPatterns.length} CFPB Compliance: ${data.complianceReport.cfpbAlignment}% DETECTED DARK PATTERNS ----------------------- ${data.darkPatterns.map((pattern, index) => ` ${index + 1}. ${pattern.type} [${pattern.severity.toUpperCase()}] Description: ${pattern.description} CFPB Violation: ${pattern.cfpbViolation} Recommendation: ${pattern.recommendation} Confidence: ${pattern.confidence}% Location: (${pattern.location.x}%, ${pattern.location.y}%) `).join('\n')} CFPB COMPLIANCE ISSUES ---------------------- ${data.complianceReport.issues.map((issue, index) => `${index + 1}. ${issue}`).join('\n')} RECOMMENDATIONS --------------- ${data.complianceReport.recommendations.map((rec, index) => `${index + 1}. ${rec}`).join('\n')} ======================================================= This report was generated by the Fintech Dark Pattern Detector using AI-powered XAI analysis and CFPB compliance heuristics. `.trim(); // Create and download the report const blob = new Blob([reportContent], { type: 'text/plain' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `dark-pattern-report-${Date.now()}.txt`; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }; const generateJSON = () => { const jsonContent = JSON.stringify(data, null, 2); const blob = new Blob([jsonContent], { type: 'application/json' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `dark-pattern-report-${Date.now()}.json`; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }; return (