HydroFlux 0.0.4

This commit is contained in:
2026-02-09 21:00:59 +11:00
parent 1257db918f
commit eceb921b4f
2 changed files with 18 additions and 6 deletions

View File

@@ -11,7 +11,8 @@ export class Dashboard {
if (!this.container) return;
// Data Retrieval (Keeping persistence)
const waterData = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":1.2,"goal":3.0}');
// Data Retrieval (Keeping persistence)
const waterData = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":0,"goal":3.0}');
const stepsData = 8432;
const goalData = 10000;
const sleepHours = 7;
@@ -281,11 +282,22 @@ export class Dashboard {
if (addBtn) {
addBtn.addEventListener('click', (e) => {
e.stopPropagation(); // Stop bubble to card click
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":1.2,"goal":3.0}');
// Use stored drink size or default to 250ml
const drinkSize = parseInt(localStorage.getItem('hydroflux_drink_size') || '250');
const drinkLitres = drinkSize / 1000;
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":0,"goal":3.0}');
if (data.current < data.goal) {
data.current = Math.min(data.current + 0.25, data.goal);
data.current = Math.min(data.current + drinkLitres, data.goal);
localStorage.setItem('hydroflux_data', JSON.stringify(data));
// Add to history (to sync with detail view)
const history = JSON.parse(localStorage.getItem('hydroflux_water_history') || '[]');
history.push({ timestamp: Date.now(), amount: drinkSize });
localStorage.setItem('hydroflux_water_history', JSON.stringify(history));
// Update Display without full re-render
const percentage = (data.current / data.goal) * 100;
const fill = this.container.querySelector('#waterFill');

View File

@@ -8,7 +8,7 @@ export class WaterView {
}
render() {
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":1.2,"goal":3.0}');
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":0,"goal":3.0}');
const drinkSize = parseInt(localStorage.getItem('hydroflux_drink_size') || '250');
const percentage = Math.min((data.current / data.goal) * 100, 100);
@@ -138,7 +138,7 @@ export class WaterView {
});
const updateWater = (amount) => {
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":1.2,"goal":3.0}');
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":0,"goal":3.0}');
data.current = Math.min(data.current + (amount / 1000), data.goal); // amount in ml to L
localStorage.setItem('hydroflux_data', JSON.stringify(data));
this.addHistory(amount);
@@ -153,7 +153,7 @@ export class WaterView {
this.container.querySelector('#removeWater').addEventListener('click', () => {
// Removing doesn't add to history, usually just undoes
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":1.2,"goal":3.0}');
const data = JSON.parse(localStorage.getItem('hydroflux_data') || '{"current":0,"goal":3.0}');
const drinkSize = parseInt(localStorage.getItem('hydroflux_drink_size') || '250');
data.current = Math.max(data.current - (drinkSize / 1000), 0);
localStorage.setItem('hydroflux_data', JSON.stringify(data));