diff --git a/src/Modules/Certificates/BonafideCertificate.jsx b/src/Modules/Certificates/BonafideCertificate.jsx index b3bb5a56c..081518331 100644 --- a/src/Modules/Certificates/BonafideCertificate.jsx +++ b/src/Modules/Certificates/BonafideCertificate.jsx @@ -62,6 +62,18 @@ const filenameFrom = (header, fallback) => { return match?.[1] || fallback; }; +// Renders an ordinal such as "4th" with the suffix raised, as the PDF does. +function ordinalWithSuperscript(value) { + const match = /^(\d+)(st|nd|rd|th)$/.exec((value ?? "").trim()); + if (!match) return value; + return ( + <> + {match[1]} + {match[2]} + + ); +} + export default function BonafideCertificate() { const [rollNumber, setRollNumber] = useState(""); const [selectedStudent, setSelectedStudent] = useState(null); @@ -326,9 +338,11 @@ export default function BonafideCertificate() { {preview.student.relation}{" "} MR. {preview.student.father_name} is a student of{" "} - {preview.student.year_ordinal} Year ( - {preview.student.semester_ordinal} Semester){" "} - {preview.student.programme} in{" "} + + {ordinalWithSuperscript(preview.student.year_ordinal)} Year + {" "} + ({ordinalWithSuperscript(preview.student.semester_ordinal)}{" "} + Semester) {preview.student.programme} in{" "} {preview.student.discipline} ({" "} {preview.student.duration_text} course duration:{" "} {preview.student.start_year} to{" "}