From ddd6eb99a0bfb5ae1d6fccf4a4f0bfd7e655777a Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 11 Mar 2026 19:32:44 +0000 Subject: [PATCH] Update src/components/workout/WorkoutSaver.tsx --- src/components/workout/WorkoutSaver.tsx | 29 +++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) 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;