diff --git a/ios/App/App/CoachWorkoutKit.swift b/ios/App/App/CoachWorkoutKit.swift index 443fe4a..0b927f0 100644 --- a/ios/App/App/CoachWorkoutKit.swift +++ b/ios/App/App/CoachWorkoutKit.swift @@ -92,10 +92,24 @@ public class CoachWorkoutKitPlugin: CAPPlugin, CAPBridgedPlugin { private func workoutActivity(from str: String) -> HKWorkoutActivityType { switch str.lowercased() { + // Cardio outdoor case "cycling": return .cycling case "walking": return .walking case "hiking": return .hiking case "running": return .running + case "swimming": return .swimming + // Strength / renfo + case "strength", "functional_strength": return .functionalStrengthTraining + case "traditional_strength": return .traditionalStrengthTraining + case "core", "core_training": return .coreTraining + // HIIT / cross training + case "hiit", "high_intensity": return .highIntensityIntervalTraining + case "cross_training", "crosstraining": return .crossTraining + // Mobilité + case "yoga": return .yoga + case "pilates": return .pilates + case "flexibility", "stretching", "mobility": return .flexibility + case "mixed", "mixed_cardio": return .mixedCardio default: return .running } } @@ -136,10 +150,20 @@ public class CoachWorkoutKitPlugin: CAPPlugin, CAPBridgedPlugin { // 5. Cooldown let cooldownStep = WorkoutStep(goal: .time(cooldownMin * 60, .seconds)) - // 6. CustomWorkout + // 6. CustomWorkout — location selon l'activité (indoor pour + // strength/yoga/core, outdoor pour cardio extérieur). + let location: HKWorkoutSessionLocationType + switch activity { + case .functionalStrengthTraining, .traditionalStrengthTraining, + .coreTraining, .yoga, .pilates, .flexibility, + .highIntensityIntervalTraining, .crossTraining: + location = .indoor + default: + location = .outdoor + } let custom = CustomWorkout( activity: activity, - location: .outdoor, + location: location, displayName: displayName, warmup: warmupStep, blocks: [block],