Healthy Fats & Omega-3 Intake Calculator

Healthy Fats & Omega-3 Intake Calculator

Estimate your weekly intake of beneficial fats.

Estimate Your Weekly Consumption

${totalFatsRec}

`; resultsSection.style.display = 'block'; resultsSection.scrollIntoView({ behavior: 'smooth' }); } // --- PDF Generation --- async function generatePDF() { const { jsPDF } = window.jspdf; const originalButtonText = downloadPdfBtn.textContent; downloadPdfBtn.textContent = 'Generating...'; downloadPdfBtn.disabled = true; const pdfWrapper = document.createElement('div'); pdfWrapper.style.position = 'absolute'; pdfWrapper.style.left = '-9999px'; pdfWrapper.style.top = '0'; pdfWrapper.style.width = '800px'; pdfWrapper.style.backgroundColor = 'white'; pdfWrapper.className = 'p-8'; pdfWrapper.innerHTML = `

Healthy Fats Intake Report

${new Date().toLocaleDateString()}

`; const resultsClone = resultsSection.querySelector('.bg-white').cloneNode(true); resultsClone.querySelector('#download-pdf-btn').parentElement.remove(); pdfWrapper.appendChild(resultsClone); document.body.appendChild(pdfWrapper); try { const canvas = await html2canvas(pdfWrapper, { scale: 2, useCORS: true, logging: false }); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'px', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = pdf.internal.pageSize.getHeight(); const imgWidth = canvas.width; const imgHeight = canvas.height; const ratio = imgWidth / imgHeight; let finalImgWidth = pdfWidth; let finalImgHeight = pdfWidth / ratio; if (finalImgHeight > pdfHeight) { finalImgHeight = pdfHeight; finalImgWidth = pdfHeight * ratio; } pdf.addImage(imgData, 'PNG', 0, 0, finalImgWidth, finalImgHeight); pdf.save('Healthy-Fats-Report.pdf'); } catch (error) { console.error("PDF Generation Error:", error); } finally { document.body.removeChild(pdfWrapper); downloadPdfBtn.textContent = 'Download PDF Report'; downloadPdfBtn.disabled = false; } } // --- Event Listeners --- calculateBtn.addEventListener('click', calculateIntake); downloadPdfBtn.addEventListener('click', generatePDF); // --- Initial Call --- createSliders(); });
Scroll to Top