add update phone number and recovery email

This commit is contained in:
tzw
2025-01-14 17:10:10 +06:30
parent 21cf7a2517
commit ace3af1785
22 changed files with 1087 additions and 221 deletions

View File

@@ -12,13 +12,15 @@ import 'package:flutter/material.dart';
import 'package:pin_input_text_field/pin_input_text_field.dart';
import 'package:provider/provider.dart';
import '../../constants.dart';
import '../../helpers/theme.dart';
const resend_count_sec = 30;
class SmsCodePage extends StatefulWidget {
final String phoneNumber;
const SmsCodePage({Key? key, required this.phoneNumber}) : super(key: key);
final String? forceResendingToken;
const SmsCodePage(
{Key? key, required this.phoneNumber, this.forceResendingToken})
: super(key: key);
@override
_SmsCodePageState createState() => _SmsCodePageState();
}
@@ -26,16 +28,18 @@ class SmsCodePage extends StatefulWidget {
class _SmsCodePageState extends State<SmsCodePage> {
bool _isLoading = false;
bool canResend = false;
int _start = resend_count_sec;
int _start = resendCountSec;
late String pin;
late bool allNumberEntered;
late Timer _timer;
String? _forceResendingToken;
@override
void initState() {
pin = "";
allNumberEntered = false;
_forceResendingToken = widget.forceResendingToken;
super.initState();
startTimer();
}
@@ -186,7 +190,28 @@ class _SmsCodePageState extends State<SmsCodePage> {
});
}
_resend() async {}
_resend() async {
try {
setState(() {
_start = resendCountSec;
canResend = false;
});
_timer.cancel();
startTimer();
var mainModel = context.read<MainModel>();
AuthResult auth = await mainModel.sendSms(widget.phoneNumber,
forceResendingToken: _forceResendingToken);
if (auth.authStatus == AuthStatus.SMS_SENT) {
_forceResendingToken = auth.forceResendingToken;
}
} catch (e) {
await showMsgDialog(context, "Error", e.toString());
}
}
_verify() async {
setState(() {