import React, { useRef } from 'react'; import { Download, Award, ShieldCheck } from 'lucide-react'; // @ts-ignore // html2pdf is loaded globally via CDN in index.html interface CertificateViewProps { certificate: { id: string; courseName: string; moduleName?: string | null; certificateType: 'COURSE' | 'MODULE'; unlockedAt: string; finalGrade: number | null; }; studentName: string; } export default function CertificateView({ certificate, studentName }: CertificateViewProps) { const certRef = useRef(null); const handleDownload = () => { if (certRef.current) { const opt = { margin: 0, filename: `Certificado_${certificate.courseName.replace(/\s+/g, '_')}.pdf`, image: { type: 'jpeg', quality: 1 }, html2canvas: { scale: 2, useCORS: true }, jsPDF: { unit: 'in', format: 'letter', orientation: 'landscape' } }; // @ts-ignore html2pdf().set(opt).from(certRef.current).save(); } }; return (

Seu Certificado

{/* Certificate Container (Will be converted to PDF) */}
{/* Decorative Borders */}
{/* Content */}

Certificado de Conclusão

MicrotecFlix - Plataforma de Estudos

Certificamos que

{studentName}

concluiu com êxito o {certificate.certificateType === 'COURSE' ? 'curso' : 'módulo'}:

{certificate.certificateType === 'COURSE' ? certificate.courseName : `${certificate.moduleName} (${certificate.courseName})`}

Data de Conclusão

{new Date(certificate.unlockedAt).toLocaleDateString('pt-BR')}

{certificate.finalGrade !== null && (

Nota Final

{certificate.finalGrade.toFixed(1)} / 10

)}

Código de Validação

{certificate.id.toUpperCase()}

); }