Dopamine Detox Tracker

Dopamine Detox Tracker

Commit to periods of reduced stimulation to reset and refocus your mind.

Current Session

60:00
Ready to begin.

Activities to Avoid

Completed Sessions Log

No sessions completed yet.

Manage High-Dopamine Activities

No sessions completed yet.

`; return; } completedSessionsList.innerHTML = ''; completedSessions.forEach(session => { const item = document.createElement('div'); item.className = 'p-3 bg-gray-100 rounded-lg text-sm'; item.innerHTML = `

Completed on ${session.date} - ${session.duration} minutes

Avoided: ${session.activities.join(', ')}

`; completedSessionsList.appendChild(item); }); } function downloadPDF() { if (completedSessions.length === 0) { console.warn("No data to export."); return; } const { jsPDF } = window.jspdf; const doc = new jsPDF(); const tableData = completedSessions.map(s => [s.date, `${s.duration} min`, s.activities.join(', ')]); doc.setFontSize(18); doc.text('Dopamine Detox Log', 14, 22); doc.setFontSize(11); doc.setTextColor(100); doc.text(`Report as of: ${new Date().toLocaleDateString()}`, 14, 30); doc.autoTable({ head: [['Date', 'Duration', 'Activities Avoided']], body: tableData, startY: 35, theme: 'grid', headStyles: { fillColor: [22, 163, 74] }, // Green-600 }); doc.save('Dopamine-Detox-Log.pdf'); } // --- Event Listeners --- startPauseBtn.addEventListener('click', startPauseTimer); resetBtn.addEventListener('click', resetTimer); durationInput.addEventListener('change', resetTimer); addActivityBtn.addEventListener('click', addActivityForm); downloadPdfBtn.addEventListener('click', downloadPDF); // --- Initial Setup --- updateNavButtons(); updateTimerDisplay(); updateActivitiesToAvoid(); renderCompletedSessions(); });
Scroll to Top