phoneSignUp method

Future<void> phoneSignUp({
  1. required String phone,
})
inherited

Implementation

Future<void> phoneSignUp({required String phone}) async {
  if (phone.isEmpty) {
    setLoading(isLoading: false, error: 'Phone number is required');
    return;
  }

  setLoading(isLoading: true, error: null);

  final result = await otpService.sendOtp(
    SendOtpPayload(phone: phone),
  );

  await result.when(
    success: (response) {
      if (!ref.mounted) return;
      state = state.copyWith(
        phone: phone,
        sendOtpResponse: response,
        isLoading: false,
        error: null,
      );
      goToPage(VoAuthPageKeys.verifyOtp);
    },
    failure: (error) {
      if (!ref.mounted) return;
      setLoading(isLoading: false, error: error.message);
    },
  );
}