diff --git a/frontend/src/pages/GoalsPage.jsx b/frontend/src/pages/GoalsPage.jsx index 9293783..d65925c 100644 --- a/frontend/src/pages/GoalsPage.jsx +++ b/frontend/src/pages/GoalsPage.jsx @@ -92,8 +92,21 @@ export default function GoalsPage() { ]) setGoalMode(modeData.goal_mode) setGoals(goalsData) - setFocusAreas(focusData) - setFocusTemp(focusData) // Initialize temp state + + // Ensure all focus fields are present and numeric + const sanitizedFocus = { + weight_loss_pct: focusData?.weight_loss_pct ?? 0, + muscle_gain_pct: focusData?.muscle_gain_pct ?? 0, + strength_pct: focusData?.strength_pct ?? 0, + endurance_pct: focusData?.endurance_pct ?? 0, + flexibility_pct: focusData?.flexibility_pct ?? 0, + health_pct: focusData?.health_pct ?? 0, + custom: focusData?.custom, + updated_at: focusData?.updated_at + } + + setFocusAreas(sanitizedFocus) + setFocusTemp(sanitizedFocus) // Convert types array to map for quick lookup const typesMap = {} @@ -278,7 +291,10 @@ export default function GoalsPage() { {!focusEditing && focusAreas && (