/* eslint-disable jsx-a11y/alt-text */ import React from "react"; import { Document, Page, View, Text, Image } from "@react-pdf/renderer"; import { ModuleScore } from "@/interfaces/module.scores"; import { styles } from "./styles"; import { StyleSheet } from "@react-pdf/renderer"; import TestReportFooter from "./test.report.footer"; const customStyles = StyleSheet.create({ testDetails: { display: "flex", gap: 4, }, }); interface Props { date: string; name: string; email: string; id: string; gender?: string; testDetails: ModuleScore[]; summary: string; logo: string; qrcode: string; renderDetails: React.ReactNode; title: string; summaryPNG: string; summaryScore: string; } const TestReport = ({ title, date, name, email, id, gender, testDetails, summary, logo, qrcode, renderDetails, summaryPNG, summaryScore, }: Props) => { const defaultTextStyle = [styles.textFont, { fontSize: 8 }]; const defaultSkillsTextStyle = [styles.textFont, { fontSize: 8 }]; const defaultSkillsTitleStyle = [ styles.textFont, styles.textColor, styles.textBold, { fontSize: 7 }, ]; return ( {title} Date of Test: {date} Candidate Information: Name: {name} ID: {id} Email: {email} Gender: {gender} Test Details: {renderDetails} Performance Summary {summary} {summaryScore} Skills Feedback {testDetails .filter( ({ suggestions, evaluation }) => suggestions || evaluation ) .map(({ module, suggestions, evaluation }) => ( {module} {evaluation} {suggestions} ))} ); }; export default TestReport;