import 'package:equatable/equatable.dart';

abstract class AuthEvent extends Equatable {
  const AuthEvent();

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

class LoginButtonPressed extends AuthEvent {
  final String username;
  final String password;
  // final String regionUuid;

  const LoginButtonPressed({
    required this.username,
    required this.password,
    // required this.regionUuid,
  });

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

class CheckBoxEvent extends AuthEvent {
  final bool? newValue;

  const CheckBoxEvent({
    required this.newValue,
  });

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

class GetCodeEvent extends AuthEvent {}

class SubmitEvent extends AuthEvent {}

class StartTimerEvent extends AuthEvent {}

class StopTimerEvent extends AuthEvent {}

class UpdateTimerEvent extends AuthEvent {
  final int remainingTime;
  final bool isButtonEnabled;
  const UpdateTimerEvent({required this.remainingTime, required this.isButtonEnabled});
}

class ChangePasswordEvent extends AuthEvent {}

class SendOtpEvent extends AuthEvent {}

class PasswordVisibleEvent extends AuthEvent {
  final bool? newValue;

  const PasswordVisibleEvent({
    required this.newValue,
  });
}

class RegionInitialEvent extends AuthEvent {}

class CheckEnableEvent extends AuthEvent {}

class ChangeValidateEvent extends AuthEvent {}

class SelectRegionEvent extends AuthEvent {
  final String val;
  const SelectRegionEvent({required this.val});
  @override
  List<Object> get props => [val];
}
