Online AI-Powered Study Session Planner

AI-Powered Study Session Planner

${step.details}

`; 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); });
Scroll to Top