import { useState, useEffect } from 'react' import { Icon, getWorkoutIconName } from '../components/Icons' const API_URL = '/api' // Workout color based on type - more subtle/muted palette const getWorkoutColor = (name) => { const lower = name.toLowerCase() if (lower.includes('push') || lower.includes('bröst')) return 'var(--workout-push)' if (lower.includes('pull') || lower.includes('rygg')) return 'var(--workout-pull)' if (lower.includes('ben') || lower.includes('leg')) return 'var(--workout-legs)' if (lower.includes('axlar')) return 'var(--workout-shoulders)' if (lower.includes('överkropp') || lower.includes('upper')) return 'var(--workout-upper)' if (lower.includes('underkropp') || lower.includes('lower')) return 'var(--workout-lower)' return 'var(--workout-default)' } function WorkoutSelectPage({ onBack, onSelectWorkout }) { const [program, setProgram] = useState(null) const [loading, setLoading] = useState(true) const [selectedWorkout, setSelectedWorkout] = useState(null) useEffect(() => { fetchProgram() }, []) const fetchProgram = async () => { try { const res = await fetch(`${API_URL}/programs/1`) const data = await res.json() setProgram(data) setLoading(false) } catch (err) { console.error('Failed to fetch program:', err) setLoading(false) } } const handleSelect = (workout) => { setSelectedWorkout(workout) } const handleStart = () => { if (selectedWorkout) { onSelectWorkout(selectedWorkout) } } if (loading) { return (

Laddar pass...

) } return (

Välj pass

Vilken träning vill du köra idag?

{program?.days?.map((workout) => { const iconName = getWorkoutIconName(workout.name) const color = getWorkoutColor(workout.name) const isSelected = selectedWorkout?.id === workout.id const exerciseCount = workout.exercises?.filter(e => e.name).length || 0 return (
handleSelect(workout)} >

{workout.name}

{exerciseCount} övningar

{workout.exercises?.filter(e => e.name).slice(0, 2).map((ex, i) => ( {ex.name} ))} {exerciseCount > 2 && ( +{exerciseCount - 2} till )}
{isSelected && (
)}
) })}
{/* Selected workout action */} {selectedWorkout && (
)}
) } export default WorkoutSelectPage