Update src/components/workout/WorkoutSaver.tsx
This commit is contained in:
@@ -9,7 +9,32 @@ interface WorkoutSaverProps {
|
||||
onError?: (error: string) => void;
|
||||
}
|
||||
|
||||
export const WorkoutSaver: React.FC<WorkoutSaverProps> = ({ onSave, onError }) => {
|
||||
interface WorkoutSaverHandle {
|
||||
saveCardioWorkout: (data: {
|
||||
distance: number;
|
||||
duration: number;
|
||||
pace: string;
|
||||
calories: number;
|
||||
steps?: number;
|
||||
}) => Promise<void>;
|
||||
saveTrainingWorkout: (data: {
|
||||
exercises: ExerciseLog[];
|
||||
duration: number;
|
||||
calories?: number;
|
||||
}) => Promise<void>;
|
||||
saveNutritionLog: (data: {
|
||||
meals: Array<{
|
||||
name: string;
|
||||
calories: number;
|
||||
protein: number;
|
||||
carbs: number;
|
||||
fats: number;
|
||||
}>;
|
||||
}) => Promise<void>;
|
||||
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<WorkoutSaverProps> = ({ onSave, onError }) =
|
||||
};
|
||||
};
|
||||
|
||||
export default WorkoutSaver;
|
||||
export default useWorkoutSaver;
|
||||
|
||||
Reference in New Issue
Block a user