Fitness Assessment Sheet Generator

Fitness Assessment Sheet Generator

Your generated assessment sheet will appear here. Go to the 'Client & Assessment Data' tab to enter information.

Client & Report Details

Vitals & Measurements

Assessment Scores

Client: ${clientName} | Date: ${date} | Assessed by: ${trainer}

Personal Details & Vitals

${createMetricItem("Age", ui.age.value)} ${createMetricItem("Gender", ui.gender.value)} ${createMetricItem("Height", heightStr)} ${createMetricItem("Weight", weightStr)} ${createMetricItem("Calculated BMI", bmi)} ${createMetricItem("Body Fat %", ui.bodyfat.value, "%")} ${createMetricItem("Resting Heart Rate", ui.rhr.value, "bpm")} ${createMetricItem("Blood Pressure", bp)} ${createMetricItem("Waist", ui.waist.value, "in")}

Client Goals

${goals}

Assessment Results

${createMetricItem(ui.cardioTest.value, ui.cardioResult.value)} ${createMetricItem("Push-ups (Max)", ui.pushups.value, "reps")} ${createMetricItem("Squats (Max)", ui.squats.value, "reps")} ${createMetricItem("Plank", ui.plank.value)} ${createMetricItem("Sit & Reach", ui.sitReach.value, "in")}
`; ui.sheetContent.innerHTML = reportHtml; ui.reportPlaceholder.style.display = 'none'; ui.dashboardActions.style.display = 'flex'; // II.B.4.o: Switch to next logical tab switchTab('dashboard'); } async function handleDownloadPDF() { ui.pdfDownloadBtn.textContent = "Generating..."; ui.pdfDownloadBtn.disabled = true; try { const { jsPDF } = window.jspdf; container.classList.add("fasg-pdf-export-mode"); // V.A: Rigorous testing of PDF feature const canvas = await html2canvas(ui.sheetContent, { scale: 2 }); container.classList.remove("fasg-pdf-export-mode"); const imgData = canvas.toDataURL("image/png"); const pdf = new jsPDF({ orientation: "p", unit: "mm", format: "a4" }); const pdfWidth = pdf.internal.pageSize.getWidth(); const margin = 10; const contentWidth = pdfWidth - margin * 2; const imgHeight = (canvas.height * contentWidth) / canvas.width; pdf.addImage(imgData, "PNG", margin, margin, contentWidth, imgHeight); pdf.save(`${(ui.clientName.value || "Fitness_Assessment").replace(/ /g, "_")}.pdf`); } catch (error) { console.error("PDF Generation Error:", error); alert("An error occurred while creating the PDF."); } finally { ui.pdfDownloadBtn.textContent = "Download Sheet (PDF)"; ui.pdfDownloadBtn.disabled = false; } } // --- Event Listeners --- ui.generateBtn.addEventListener('click', generateSheet); ui.loadSampleBtn.addEventListener('click', loadSampleData); ui.pdfDownloadBtn.addEventListener('click', handleDownloadPDF); });
Scroll to Top