finish resend code

merge-requests/99/head
Elham Rababah 6 years ago
parent 40eb7f8064
commit 1e507cca3e

@ -61,3 +61,6 @@ const CHANNEL = 9;
const SESSION_ID = 'BlUSkYymTt'; const SESSION_ID = 'BlUSkYymTt';
const IS_LOGIN_FOR_DOCTOR_APP = true; const IS_LOGIN_FOR_DOCTOR_APP = true;
const PATIENT_OUT_SA = false; const PATIENT_OUT_SA = false;
/// Timer Info
const TIMER_MIN =10;

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../lookups/auth_lookup.dart'; import '../../lookups/auth_lookup.dart';
@ -28,7 +30,6 @@ class _VerifyAccountScreenState extends State<VerifyAccountScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// return Container()];
return AppScaffold( return AppScaffold(
isloading: _isLoading, isloading: _isLoading,
pageOnly: true, pageOnly: true,
@ -40,7 +41,7 @@ class _VerifyAccountScreenState extends State<VerifyAccountScreen> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
AuthHeader(loginType.verifyPassword), AuthHeader(loginType.verifyPassword),
VerifyAccount(changeLoadingStata:changeLoadingStata), VerifyAccount(changeLoadingStata: changeLoadingStata),
], ],
), ),
), ),

@ -0,0 +1,102 @@
import 'dart:async';
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/providers/auth_provider.dart';
import 'package:doctor_app_flutter/providers/patients_provider.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
class ShowTimerText extends StatefulWidget {
ShowTimerText({Key key, this.model});
final model;
@override
_ShowTimerTextState createState() => _ShowTimerTextState();
}
class _ShowTimerTextState extends State<ShowTimerText> {
String timerText = (TIMER_MIN - 1).toString() + ':59';
int min = TIMER_MIN - 1;
int sec = 59;
Timer _timer;
AuthProvider authProv;
resendCode() {
min = TIMER_MIN - 1;
sec = 59;
_timer = Timer.periodic(Duration(seconds: 1), (Timer timer) {
if (min <= 0 && sec <= 0) {
timer.cancel();
} else {
setState(() {
sec = sec - 1;
if (sec == 0 && min == 0) {
min = 0;
sec = 0;
} else if (sec == 0) {
min = min - 1;
sec = 59;
}
timerText = min.toString() + ':' + sec.toString();
});
}
});
}
@override
void initState() {
super.initState();
resendCode();
}
@override
void dispose() {
_timer.cancel();
super.dispose();
}
@override
Widget build(BuildContext context) {
authProv = Provider.of<AuthProvider>(context);
return Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
InkWell(
onTap: min != 0 || sec != 0
? null
: () {
resendActivatioinCode();
},
child: Text(
min == 0 && sec == 0 ? 'Resend Login Code' : timerText,
style: TextStyle(
fontSize: 3.0 * SizeConfig.textMultiplier,
color:
min == 0 && sec == 0 ? Colors.blue : Hexcolor('#B8382C'),
fontWeight: FontWeight.bold),
),
),
],
),
);
}
resendActivatioinCode() {
authProv
.sendActivationCodeByOtpNotificationType(widget.model)
.then((res) => {
// print('$value')
if (res['MessageStatus'] == 1)
{resendCode()}
else
{helpers.showErrorToast(res['ErrorEndUserMessage'])}
})
.catchError((err) {
helpers.showErrorToast();
});
}
}

@ -1,7 +1,9 @@
import 'dart:async';
import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
import 'package:doctor_app_flutter/models/clinic_model.dart'; import 'package:doctor_app_flutter/models/clinic_model.dart';
import 'package:doctor_app_flutter/models/doctor_profile_model.dart';
import 'package:doctor_app_flutter/models/profile_req_Model.dart'; import 'package:doctor_app_flutter/models/profile_req_Model.dart';
import 'package:doctor_app_flutter/widgets/auth/show_timer_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -35,6 +37,8 @@ class _VerifyAccountState extends State<VerifyAccount> {
Future _loggedUserFuture; Future _loggedUserFuture;
var _loggedUser; var _loggedUser;
AuthProvider authProv; AuthProvider authProv;
bool _isInit =true;
var model;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -47,6 +51,17 @@ class _VerifyAccountState extends State<VerifyAccount> {
}); });
} }
@override
void didChangeDependencies() {
super.didChangeDependencies();
if (_isInit) {
authProv = Provider.of<AuthProvider>(context);
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
model = routeArgs['model'];
}
_isInit = false;
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
authProv = Provider.of<AuthProvider>(context); authProv = Provider.of<AuthProvider>(context);
@ -132,10 +147,11 @@ class _VerifyAccountState extends State<VerifyAccount> {
onSaved: (val) { onSaved: (val) {
verifyAccountFormValue['digit3'] = verifyAccountFormValue['digit3'] =
val; val;
},onFieldSubmitted: (_) { },
FocusScope.of(context) onFieldSubmitted: (_) {
.requestFocus(focusD4); FocusScope.of(context)
}, .requestFocus(focusD4);
},
validator: validateCodeDigit)), validator: validateCodeDigit)),
Container( Container(
width: SizeConfig.realScreenWidth * 0.20, width: SizeConfig.realScreenWidth * 0.20,
@ -190,14 +206,7 @@ class _VerifyAccountState extends State<VerifyAccount> {
color: Hexcolor('#CCCCCC'))), color: Hexcolor('#CCCCCC'))),
), ),
buildSizedBox(20), buildSizedBox(20),
Center( ShowTimerText(model: model),
child: Text(
"Resend in 4.20",
style: TextStyle(
fontSize: 3.0 * SizeConfig.textMultiplier,
),
),
),
buildSizedBox(10), buildSizedBox(10),
]))); ])));
} }
@ -401,10 +410,10 @@ class _VerifyAccountState extends State<VerifyAccount> {
} }
}).catchError((err) { }).catchError((err) {
print('$err'); print('$err');
changeLoadingStata(false); changeLoadingStata(false);
print('$err'); print('$err');
helpers.showErrorToast(); helpers.showErrorToast();
}); });
} }
} }

@ -270,7 +270,7 @@ class _VerificationMethodsState extends State<VerificationMethods> {
widget.changeLoadingStata(false); widget.changeLoadingStata(false);
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
Navigator.of(context).pushNamed(VERIFY_ACCOUNT); Navigator.of(context).pushNamed(VERIFY_ACCOUNT, arguments: {'model':model});
} else { } else {
print(res['ErrorEndUserMessage']); print(res['ErrorEndUserMessage']);
helpers.showErrorToast(res['ErrorEndUserMessage']); helpers.showErrorToast(res['ErrorEndUserMessage']);

Loading…
Cancel
Save