Daily Wellness & Productivity Log
Weekly Overview & Insights
Overview for Week:
Weekly Averages (1-5 Scale):
Average Productivity Level: N/A
Average Scores Visualized:
Reflections on Your Week:
Daily Logs for the Week:
No logs found for this week.
Select a week and click "Analyze Week" to view your overview.
No log for ${new Date(dateKey+'T00:00:00Z').toLocaleDateString()} yet. Fill the form to save.
N/A
'; mpbAvgProdValueEl.textContent = 'N/A'; mpbFactorAverageScoresChartEl.innerHTML = 'No data for chart.
'; mpbCorrelationInsightsEl.innerHTML = 'No daily logs found for this week to generate insights.
'; mpbWeeklyOverviewAreaEl.style.display = 'block'; mpbDownloadReportBtnEl.style.display = 'none'; return; } mpbNoLogsForWeekMessageEl.style.display = 'none'; const weeklyAverages = {}; mpbWellnessFactorDefs.forEach(f => weeklyAverages[f.id] = { sum: 0, count: 0 }); let totalProductivitySum = 0, productivityCount = 0; logsForWeek.sort((a,b) => new Date(a.date) - new Date(b.date)).forEach(log => { const row = mpbLogHistoryTableBodyEl.insertRow(); row.insertCell().textContent = new Date(log.date+'T00:00:00Z').toLocaleDateString(); mpbWellnessFactorDefs.forEach(factor => { const score = log.wellnessScores[factor.id] !== undefined ? log.wellnessScores[factor.id] : 0; row.insertCell().textContent = score; weeklyAverages[factor.id].sum += score; weeklyAverages[factor.id].count++; }); row.insertCell().textContent = log.productivityLevel; const notesCell = row.insertCell(); notesCell.textContent = log.notes.substring(0,25)+(log.notes.length>25?'...':''); notesCell.title = log.notes; notesCell.classList.add('notes-cell'); totalProductivitySum += log.productivityLevel; productivityCount++; }); let avgWellnessHTML = ''; const factorAveragesForChart = []; mpbWellnessFactorDefs.forEach(f => { const avg = weeklyAverages[f.id].count > 0 ? (weeklyAverages[f.id].sum / weeklyAverages[f.id].count) : 0; avgWellnessHTML += `${f.label}: ${avg.toFixed(1)}
`; factorAveragesForChart.push({label: f.label, value: avg, type: 'wellness'}); }); mpbWeeklyAveragesDisplayEl.innerHTML = avgWellnessHTML; const avgProd = productivityCount > 0 ? (totalProductivitySum / productivityCount) : 0; mpbAvgProdValueEl.textContent = avgProd.toFixed(1); factorAveragesForChart.push({label: "Productivity", value: avgProd, type: 'productivity'}); mpbRenderSimpleBarChart(factorAveragesForChart); let insightsHTML = '- ';
const avgProdNum = parseFloat(avgProd);
mpbWellnessFactorDefs.forEach(f => {
const avgFactorScore = weeklyAverages[f.id].count > 0 ? (weeklyAverages[f.id].sum / weeklyAverages[f.id].count) : null;
if(avgFactorScore !== null && !isNaN(avgProdNum) && logsForWeek.length > 2) { // Need a few days for meaningful observation
let highWellnessHighProdDays = 0; let lowWellnessLowProdDays = 0;
logsForWeek.forEach(log => {
if(log.wellnessScores[f.id] >= 4 && log.productivityLevel >=4) highWellnessHighProdDays++;
if(log.wellnessScores[f.id] <= 2 && log.productivityLevel <=2) lowWellnessLowProdDays++;
});
if (highWellnessHighProdDays >= logsForWeek.length * 0.4) { // If 40%+ days had this strong positive correlation
insightsHTML += `
- A number of days this week showed high '${f.label}' coinciding with high 'Productivity'. What elements contributed to these positive days? `; } if (lowWellnessLowProdDays >= logsForWeek.length * 0.4) { insightsHTML += `
- On several days, lower '${f.label}' appeared alongside lower 'Productivity'. Exploring the notes for these days might offer insights. `; } } }); if(logsForWeek.filter(log => log.notes && (log.notes.toLowerCase().includes("stress") || log.notes.toLowerCase().includes("pressure") || log.notes.toLowerCase().includes("overwhelm"))).length >= Math.max(1, logsForWeek.length * 0.2) ){ // If stress mentioned on at least 20% of days (min 1) insightsHTML += `
- Your notes mentioned terms like 'stress', 'pressure', or 'overwhelm' this week. How did these instances align with your wellness and productivity ratings on those specific days? `; } if (avgProdNum >= 4 && avgWellnessHTML.includes("Sleep: ") && parseFloat(avgWellnessHTML.split("Sleep: ")[1].split("")[0]) >= 4) { insightsHTML += `
- High average productivity this week seems to align with good average sleep quality. This is often a positive pattern. `; } if (avgProdNum <= 2 && avgWellnessHTML.includes("Energy Level: ") && parseFloat(avgWellnessHTML.split("Energy Level: ")[1].split("")[0]) <= 2) { insightsHTML += `
- Lower average productivity this week appears alongside lower average energy levels. What might have influenced your energy? `; } if(insightsHTML === '
- Reflect on your daily entries. What connections do you see between your wellness scores, productivity levels, and the day\'s events or notes? '; insightsHTML += '
- ') insightsHTML += '
