`;
});
const sensationText = document.querySelector(`label[for="sensation-${analysisResults.sensation}"]`).textContent;
const resultsHTML = `
Your Mindfulness Guide
For ${sensationText} Pain with an intensity of ${analysisResults.intensity}/10
${techniquesHTML}
Download My Guide
`;
resultsContainer.innerHTML = resultsHTML;
resultsContainer.classList.remove('hidden');
document.getElementById('download-pdf-btn').addEventListener('click', downloadPdf);
resultsContainer.scrollIntoView({ behavior: 'smooth' });
}
function downloadPdf() {
if (!analysisResults) return;
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
// Header
doc.setFontSize(22);
doc.setFont('helvetica', 'bold');
doc.text('Mindfulness-Based Pain Management Guide', 105, 20, { align: 'center' });
// User Input
const sensationText = document.querySelector(`label[for="sensation-${analysisResults.sensation}"]`).textContent;
doc.setFontSize(12);
doc.text(`Your Assessment: ${sensationText} Pain, Intensity ${analysisResults.intensity}/10`, 14, 35);
let finalY = 45;
analysisResults.techniques.forEach(tech => {
if (finalY > 220) { doc.addPage(); finalY = 20; }
doc.setFontSize(14);
doc.setFont('helvetica', 'bold');
doc.text(tech.name, 14, finalY);
finalY += 7;
doc.setFontSize(10);
doc.setFont('helvetica', 'normal');
const descLines = doc.splitTextToSize(tech.desc, 180);
doc.text(descLines, 14, finalY);
finalY += (descLines.length * 5) + 3;
doc.setFont('helvetica', 'bold');
doc.text('How to Practice:', 14, finalY);
finalY += 5;
doc.setFont('helvetica', 'normal');
tech.steps.forEach((step, index) => {
const stepLines = doc.splitTextToSize(`${index + 1}. ${step}`, 175);
doc.text(stepLines, 14, finalY);
finalY += (stepLines.length * 5) + 1;
});
finalY += 5;
});
doc.save('Mindfulness-Pain-Guide.pdf');
}
// --- EVENT LISTENERS ---
nextBtn1.addEventListener('click', () => switchStep('2'));
prevBtn2.addEventListener('click', () => switchStep('1'));
finishBtn.addEventListener('click', generateGuide);
intensitySlider.addEventListener('input', (e) => {
intensityDisplay.textContent = e.target.value;
});
});