part of 'email_verification_bloc.dart';

@immutable
class EmailVerificationState {
  const EmailVerificationState({
    this.email = '',
    this.status = StateStatus.idle,
    this.reAuthRequirement = ReAuthRequirement.none,
    this.userPhone = '',
  });

  final String email;
  final StateStatus status;
  final ReAuthRequirement reAuthRequirement;
  final String userPhone;

  EmailVerificationState copyWith({
    String? email,
    StateStatus? status,
    ReAuthRequirement? reAuthRequirement,
    String? userPhone,
  }) {
    return EmailVerificationState(
      email: email ?? this.email,
      status: status ?? this.status,
      reAuthRequirement: reAuthRequirement ?? this.reAuthRequirement,
      userPhone: userPhone ?? this.userPhone,
    );
  }
}

enum ReAuthRequirement { none, recent, immediate }
