Personalized Water Filtration & Hydration Guide

Personalized Water & Hydration Guide

Get a customized plan for optimal hydration and water purity based on your lifestyle.

Step 1: What is your daily activity level?

Step 2: What is your primary home water source?

Step 3: What is your main health goal?

Your Personalized Hydration & Purity Plan

(approx. ${(intakeGoal * 33.8).toFixed(0)} oz or ${(intakeGoal * 4.2).toFixed(0)} glasses)

Recommended Filtration Method

${filtrationRec.name}

${filtrationRec.desc}

Personalized Hydration Tip

${tip}

Important Disclaimer

This guide provides general recommendations and is not medical advice. Individual hydration needs can vary. Consult a healthcare professional for personalized health advice.

`; elements.planResultContainer.innerHTML = planHTML; }; const downloadPDF = () => { if (typeof window.jspdf === 'undefined') { alert('Could not generate PDF. The required library is missing.'); return; } const { jsPDF } = window.jspdf; const doc = new jsPDF(); const { intakeGoal, filtrationRec, tip, inputs } = planData; const colors = { primary: '#0e7490', secondary: '#06b6d4', textPrimary: '#1f2937', textSecondary: '#6b7280' }; doc.setFillColor(colors.primary); doc.rect(0, 0, 210, 28, 'F'); doc.setFont('helvetica', 'bold'); doc.setFontSize(20); doc.setTextColor('#FFFFFF'); doc.text('My Hydration & Purity Plan', 105, 18, { align: 'center' }); let yPos = 40; doc.setFontSize(16); doc.setFont('helvetica', 'bold'); doc.setTextColor(colors.primary); doc.text('Your Daily Hydration Target', 105, yPos, { align: 'center' }); yPos += 12; doc.setFontSize(36); doc.text(`${intakeGoal.toFixed(1)} Liters / day`, 105, yPos, { align: 'center' }); yPos += 10; doc.setFontSize(10); doc.setTextColor(colors.textSecondary); doc.text(`(Based on a ${inputs.activity.replace('_', ' ')} activity level)`, 105, yPos, { align: 'center' }); yPos += 15; doc.setDrawColor(colors.secondary); doc.line(14, yPos, 196, yPos); yPos += 15; doc.setFontSize(14); doc.setFont('helvetica', 'bold'); doc.setTextColor(colors.primary); doc.text('Recommended Filtration Method', 14, yPos); yPos += 7; doc.setFontSize(11); doc.setFont('helvetica', 'bold'); doc.setTextColor(colors.textPrimary); doc.text(filtrationRec.name, 14, yPos); yPos += 5; doc.setFont('helvetica', 'normal'); doc.text(doc.splitTextToSize(filtrationRec.desc, 180), 14, yPos); yPos += 20; doc.setFontSize(14); doc.setFont('helvetica', 'bold'); doc.setTextColor(colors.primary); doc.text('Personalized Hydration Tip', 14, yPos); yPos += 7; doc.setFontSize(11); doc.setFont('helvetica', 'normal'); doc.text(doc.splitTextToSize(tip, 180), 14, yPos); yPos = 270; doc.setFillColor('#fffbeb'); doc.rect(14, yPos, 182, 20, 'F'); doc.setFontSize(11); doc.setFont('helvetica', 'bold'); doc.setTextColor('#b45309'); doc.text('Important Disclaimer', 20, yPos + 7); doc.setFontSize(9); doc.setFont('helvetica', 'normal'); doc.setTextColor('#92400e'); const disclaimer = "This guide is for informational purposes only. Consult a healthcare professional for personalized medical advice."; doc.text(doc.splitTextToSize(disclaimer, 170), 20, yPos + 12); doc.save('My_Hydration_Plan.pdf'); }; // --- Event Listeners --- elements.nextBtn.addEventListener('click', nextStep); elements.prevBtn.addEventListener('click', prevStep); elements.downloadPdfBtn.addEventListener('click', downloadPDF); // --- Initialization --- updateFormUI(); });
Scroll to Top