part of 'customer_change_bloc.dart';

@immutable
abstract class CustomerChangeEvent extends Equatable {
  const CustomerChangeEvent();
  @override
  List<Object> get props => [];
}

class CustomerGoalChange extends CustomerChangeEvent {
  final String goal;
  const CustomerGoalChange({required this.goal});

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

class CustomerFitnessChange extends CustomerChangeEvent {
  final String fitness;
  const CustomerFitnessChange({required this.fitness});

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

class CustomerBodyTypeChange extends CustomerChangeEvent {
  final String bodyType;
  const CustomerBodyTypeChange({required this.bodyType});

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

class CustomerBirthYearChange extends CustomerChangeEvent {
  final int year;
  const CustomerBirthYearChange({required this.year});

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

class CustomerWeightChange extends CustomerChangeEvent {
  final double weight;
  const CustomerWeightChange({required this.weight});

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

class CustomerHeightChange extends CustomerChangeEvent {
  final int height;
  const CustomerHeightChange({required this.height});

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

class CustomerGenderChange extends CustomerChangeEvent {
  final int gender;
  const CustomerGenderChange({required this.gender});

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

class CustomerEmailChange extends CustomerChangeEvent {
  final String email;
  const CustomerEmailChange({required this.email});

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

class CustomerFirstNameChange extends CustomerChangeEvent {
  final String firstName;
  const CustomerFirstNameChange({required this.firstName});

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

class CustomerNameChange extends CustomerChangeEvent {
  final String name;
  const CustomerNameChange({required this.name});

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

class CustomerPasswordChange extends CustomerChangeEvent {
  final String password;
  const CustomerPasswordChange({required this.password});

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

class CustomerSportChange extends CustomerChangeEvent {
  final Sport sport;
  const CustomerSportChange({required this.sport});

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

class CustomerChangePasswordObscure extends CustomerChangeEvent {
  const CustomerChangePasswordObscure();
}

class CustomerLoad extends CustomerChangeEvent {
  const CustomerLoad();
}

class CustomerSave extends CustomerChangeEvent {
  const CustomerSave();
}