part of 'training_plan_bloc.dart';

abstract class TrainingPlanEvent extends Equatable {
  const TrainingPlanEvent();

  @override
  List<Object> get props => [];
}

class TrainingPlanLoad extends TrainingPlanEvent {
  const TrainingPlanLoad();
}

class TrainingPlanActivate extends TrainingPlanEvent {
  final int trainingPlanId;
  const TrainingPlanActivate({required this.trainingPlanId});

  @override
  List<Object> get props => [trainingPlanId];
}

class TrainingPlanWeightChange extends TrainingPlanEvent {
  final CustomerTrainingPlanDetails detail;
  final double weight;
  const TrainingPlanWeightChange({required this.weight, required this.detail});

  @override
  List<Object> get props => [weight, detail];
}

class TrainingPlanRepeatsChange extends TrainingPlanEvent {
  final CustomerTrainingPlanDetails detail;
  final int repeats;
  const TrainingPlanRepeatsChange({required this.repeats, required this.detail});

  @override
  List<Object> get props => [repeats, detail];
}

class TrainingPlanSaveExercise extends TrainingPlanEvent {
  final CustomerTrainingPlanDetails detail;
  const TrainingPlanSaveExercise({required this.detail});

  @override
  List<Object> get props => [detail];
}

class TrainingPlanFinishTraining extends TrainingPlanEvent {
  const TrainingPlanFinishTraining();
}

class TrainingPlanSkipExercise extends TrainingPlanEvent {
  final CustomerTrainingPlanDetails detail;
  const TrainingPlanSkipExercise({required this.detail});

  @override
  List<Object> get props => [detail];
}
