diff --git a/src/components/workout/WorkoutSaver.tsx b/src/components/workout/WorkoutSaver.tsx index 9a90c3e..aa6041b 100644 --- a/src/components/workout/WorkoutSaver.tsx +++ b/src/components/workout/WorkoutSaver.tsx @@ -9,7 +9,32 @@ interface WorkoutSaverProps { onError?: (error: string) => void; } -export const WorkoutSaver: React.FC = ({ onSave, onError }) => { +interface WorkoutSaverHandle { + saveCardioWorkout: (data: { + distance: number; + duration: number; + pace: string; + calories: number; + steps?: number; + }) => Promise; + saveTrainingWorkout: (data: { + exercises: ExerciseLog[]; + duration: number; + calories?: number; + }) => Promise; + saveNutritionLog: (data: { + meals: Array<{ + name: string; + calories: number; + protein: number; + carbs: number; + fats: number; + }>; + }) => Promise; + isSaving: boolean; +} + +export const useWorkoutSaver = ({ onSave, onError }: WorkoutSaverProps): WorkoutSaverHandle => { const { addSession } = useWorkoutData(); const [isSaving, setIsSaving] = useState(false); @@ -126,4 +151,4 @@ export const WorkoutSaver: React.FC = ({ onSave, onError }) = }; }; -export default WorkoutSaver; +export default useWorkoutSaver;