From d03a968d8c5841ebd9dba40c1e28b0f29c7f783f Mon Sep 17 00:00:00 2001 From: Gaurang Ratnaparkhi <68043860+gnaaruag@users.noreply.github.com> Date: Thu, 30 May 2024 19:17:04 +0530 Subject: [PATCH] calorie data persists with the help of local storage --- index.html | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 8600b19..93a785a 100644 --- a/index.html +++ b/index.html @@ -78,14 +78,14 @@

Calorie Status

// user configuration ------ // these will count our calories burned at rest -let calorieCount = 0; +let calorieCount = parseFloat(localStorage.getItem('calorieCount')) || 0; const hourlyCalorieBurn = 2000 / 24.0; // burned per hour // goal is to lose 500 kcal/day (i.e. ~1 lb/week) -let desiredDeficitCount = 0; +let desiredDeficitCount = parseFloat(localStorage.getItem('desiredDeficitCount')) || 0; const hourlyCalorieTargetDeficit = 500 / 24.0; // -------------------------- -let lastUpdateTime = Date.now(); +let lastUpdateTime = parseInt(localStorage.getItem('lastUpdateTime')) || Date.now(); function updateCalorieCount() { const currentTime = Date.now(); @@ -97,22 +97,33 @@

Calorie Status

document.getElementById('deficit-count').innerText = "GOAL: " + desiredDeficitCount.toFixed(2); let color = calorieCount < desiredDeficitCount ? 'green' : 'red'; // green if met, red otherwise document.getElementById('deficit-count').style.color = color; + + // store the updated values in local storage + localStorage.setItem('calorieCount', calorieCount); + localStorage.setItem('desiredDeficitCount', desiredDeficitCount); + localStorage.setItem('lastUpdateTime', lastUpdateTime.toString()); } document.getElementById('reset-button').addEventListener('click', () => { calorieCount = 0; - desiredDeficitCount = 0; // reset the goal counter as well + desiredDeficitCount = 0; lastUpdateTime = Date.now(); + localStorage.setItem('calorieCount', calorieCount); + localStorage.setItem('desiredDeficitCount', desiredDeficitCount); + localStorage.setItem('lastUpdateTime', lastUpdateTime.toString()); + updateCalorieCount(); }); document.getElementById('exercise-button').addEventListener('click', () => { updateCalorieCount(); calorieCount -= 100; + localStorage.setItem('calorieCount', calorieCount); }); document.getElementById('eat-button').addEventListener('click', () => { updateCalorieCount(); calorieCount += 100; + localStorage.setItem('calorieCount', calorieCount); }); setInterval(updateCalorieCount, 500); // update counter every 500ms