import 'package:freezed_annotation/freezed_annotation.dart';

part 'recover_password_view_state.freezed.dart';

@freezed
abstract class RecoverPasswordViewState with _$RecoverPasswordViewState {
  const factory RecoverPasswordViewState({
    @Default('') String phoneNumber,
    @Default('+34') String dialCode,
    @Default('') String email,
    @Default('') String errorMessage,
    @Default('') String recoveryFormat,
    @Default(false) bool isLoading,
    @Default(false) bool recoveryRequested,
    @Default(false) bool passwordChanged,
    @Default('') String token,
    @Default('') String password,
    @Default('') String repeatedPassword,
    @Default(false) bool passwordVisible,
    @Default(true) bool equalPasswords,
    @Default('+34') String newDialCode,
    @Default('') String newPhoneNumber,
    @Default({
      'min': false,
      'capital': false,
      'number': false,
      'special': false,
    }) Map<String, bool> securityChecks,
  }) = _RecoverPasswordViewState;
}