diff --git a/frontend/src/pages/GoalsPage.jsx b/frontend/src/pages/GoalsPage.jsx index 5ba8e00..ca998c4 100644 --- a/frontend/src/pages/GoalsPage.jsx +++ b/frontend/src/pages/GoalsPage.jsx @@ -46,6 +46,16 @@ const GOAL_MODES = [ export default function GoalsPage() { const [goalMode, setGoalMode] = useState(null) + const [focusAreas, setFocusAreas] = useState(null) + const [focusEditing, setFocusEditing] = useState(false) + const [focusTemp, setFocusTemp] = useState({ + weight_loss_pct: 0, + muscle_gain_pct: 0, + strength_pct: 0, + endurance_pct: 0, + flexibility_pct: 0, + health_pct: 0 + }) const [goals, setGoals] = useState([]) const [goalTypes, setGoalTypes] = useState([]) // Dynamic from DB (Phase 1.5) const [goalTypesMap, setGoalTypesMap] = useState({}) // For quick lookup @@ -74,13 +84,16 @@ export default function GoalsPage() { setLoading(true) setError(null) try { - const [modeData, goalsData, typesData] = await Promise.all([ + const [modeData, goalsData, typesData, focusData] = await Promise.all([ api.getGoalMode(), api.listGoals(), - api.listGoalTypeDefinitions() // Phase 1.5: Load from DB + api.listGoalTypeDefinitions(), // Phase 1.5: Load from DB + api.getFocusAreas() // v2.0: Load focus areas ]) setGoalMode(modeData.goal_mode) setGoals(goalsData) + setFocusAreas(focusData) + setFocusTemp(focusData) // Initialize temp state // Convert types array to map for quick lookup const typesMap = {} @@ -258,43 +271,189 @@ export default function GoalsPage() { )} - {/* Strategic Goal Mode Selection */} + {/* Focus Areas (v2.0) */}
- Wรคhle deine grundlegende Trainingsausrichtung. Dies beeinflusst die Gewichtung - und Interpretation aller Analysen. + Gewichte deine Trainingsziele individuell. Die Summe muss 100% ergeben. + {focusAreas && !focusAreas.custom && ( + + โน๏ธ Aktuell abgeleitet aus Trainingsmodus "{goalMode}" - klicke "Anpassen" fรผr individuelle Gewichtung + + )}
-