`;
elements.planContainer.appendChild(stepDiv);
});
elements.resultsScreen.classList.remove('hidden');
}
function downloadPdf() {
if (!lastPlanData) {
showError("Please generate a plan first.");
return;
}
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
doc.setFont('helvetica', 'bold');
doc.setFontSize(18);
doc.text(`Study Plan for: ${lastTopic}`, doc.internal.pageSize.getWidth() / 2, 20, { align: 'center' });
doc.setFontSize(12);
doc.setTextColor(100);
doc.text(`Duration: ${elements.studyDurationInput.value} minutes | Style: ${elements.learningStyleSelect.value}`, doc.internal.pageSize.getWidth() / 2, 28, { align: 'center' });
const tableBody = lastPlanData.plan.map(step => [
step.time,
step.task,
step.details
]);
doc.autoTable({
startY: 40,
head: [['Time', 'Task', 'Details']],
body: tableBody,
theme: 'grid',
headStyles: { fillColor: [79, 70, 229] }
});
doc.save(`study-plan-${lastTopic.replace(/\s+/g, '-')}.pdf`);
}
function restart() {
elements.resultsScreen.classList.add('hidden');
elements.setupScreen.classList.remove('hidden');
elements.studyTopicInput.value = '';
}
// --- Event Listeners ---
elements.btnGenerate.addEventListener('click', generatePlan);
elements.btnRestart.addEventListener('click', restart);
elements.btnDownloadPdf.addEventListener('click', downloadPdf);
});
