import React from 'react'; import { X, Download, Copy, Check } from 'lucide-react'; import ReactMarkdown from 'react-markdown'; import remarkMath from 'remark-math'; import rehypeKatex from 'rehype-katex'; const ReportViewerModal = ({ isOpen, onClose, data }) => { const [copied, setCopied] = React.useState(false); if (!isOpen || !data) return null; const handleCopy = () => { navigator.clipboard.writeText(data.markdown); setCopied(true); setTimeout(() => setCopied(false), 2000); }; const handleDownload = () => { const blob = new Blob([data.markdown], { type: 'text/markdown' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${data.title.replace(/\s+/g, '_').toLowerCase()}.md`; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }; return (
Generated by Vertical.ai