소스 검색

refactor(workout-builder): remove currentExerciseId from shuffleExerciseAction to simplify action parameters and improve clarity
chore(workout-builder): add TODO comments for typing exercisesByMuscle and exercisesError in the store for better type safety

Mathias 1 개월 전
부모
커밋
d25d16dced
2개의 변경된 파일4개의 추가작업 그리고 7개의 파일을 삭제
  1. 1 2
      src/features/workout-builder/actions/shuffle-exercise.action.ts
  2. 3 5
      src/features/workout-builder/model/workout-builder.store.ts

+ 1 - 2
src/features/workout-builder/actions/shuffle-exercise.action.ts

@@ -7,14 +7,13 @@ import { prisma } from "@/shared/lib/prisma";
 import { actionClient } from "@/shared/api/safe-actions";
 
 const shuffleExerciseSchema = z.object({
-  currentExerciseId: z.string(),
   muscle: z.nativeEnum(ExerciseAttributeValueEnum),
   equipment: z.array(z.nativeEnum(ExerciseAttributeValueEnum)),
   excludeExerciseIds: z.array(z.string()),
 });
 
 export const shuffleExerciseAction = actionClient.schema(shuffleExerciseSchema).action(async ({ parsedInput }) => {
-  const { currentExerciseId, muscle, equipment, excludeExerciseIds } = parsedInput;
+  const { muscle, equipment, excludeExerciseIds } = parsedInput;
 
   try {
     const [primaryMuscleAttributeName, secondaryMuscleAttributeName, equipmentAttributeName] = await Promise.all([

+ 3 - 5
src/features/workout-builder/model/workout-builder.store.ts

@@ -9,10 +9,10 @@ interface WorkoutBuilderState {
   currentStep: WorkoutBuilderStep;
   selectedEquipment: ExerciseAttributeValueEnum[];
   selectedMuscles: ExerciseAttributeValueEnum[];
-  // Exercices (groupés par muscle)
-  exercisesByMuscle: any[];
+
+  exercisesByMuscle: any[]; //TODO: type this
   isLoadingExercises: boolean;
-  exercisesError: any;
+  exercisesError: any; //TODO: type this
   exercisesOrder: string[];
   isShuffling: boolean;
 
@@ -93,11 +93,9 @@ export const useWorkoutBuilderStore = create<WorkoutBuilderState>((set, get) =>
     try {
       const { selectedEquipment, exercisesByMuscle } = get();
 
-      // Récupérer tous les IDs des exercices dans le workout actuel
       const allExerciseIds = exercisesByMuscle.flatMap((group) => group.exercises.map((ex: any) => ex.id));
 
       const result = await shuffleExerciseAction({
-        currentExerciseId: exerciseId,
         muscle: muscle,
         equipment: selectedEquipment,
         excludeExerciseIds: allExerciseIds,