fix issues

fatima
Fatimah Alshammari 4 years ago
parent c1e06a739a
commit 9ad439fb46

@ -70,7 +70,7 @@ class _CompleteProfilePageState extends State<CompleteProfilePage> {
TxtField( TxtField(
hint: "Email", hint: "Email",
value: email, value: email,
isButtonEnable: email!.length > 0 ? true : false, // isButtonEnable: email!.length > 0 ? true : false,
buttonTitle: "Verify", buttonTitle: "Verify",
onChanged: (v) { onChanged: (v) {
email = v; email = v;

@ -4,6 +4,7 @@ import 'package:car_provider_app/api/shared_prefrence.dart';
import 'package:car_provider_app/classes/utils.dart'; import 'package:car_provider_app/classes/utils.dart';
import 'package:car_provider_app/config/constants.dart'; import 'package:car_provider_app/config/constants.dart';
import 'package:car_provider_app/config/routes.dart'; import 'package:car_provider_app/config/routes.dart';
import 'package:car_provider_app/models/user/country.dart';
import 'package:car_provider_app/models/user/forget_password_otp_compare.dart'; import 'package:car_provider_app/models/user/forget_password_otp_compare.dart';
import 'package:car_provider_app/models/user/forget_password_otp_request.dart'; import 'package:car_provider_app/models/user/forget_password_otp_request.dart';
import 'package:car_provider_app/pages/user/vertify_password_page.dart'; import 'package:car_provider_app/pages/user/vertify_password_page.dart';
@ -14,10 +15,12 @@ import 'package:car_provider_app/widgets/button/show_image_button.dart';
import 'package:car_provider_app/widgets/dialog/dialogs.dart'; import 'package:car_provider_app/widgets/dialog/dialogs.dart';
import 'package:car_provider_app/widgets/dialog/message_dialog.dart'; import 'package:car_provider_app/widgets/dialog/message_dialog.dart';
import 'package:car_provider_app/widgets/dialog/otp_dialog.dart'; import 'package:car_provider_app/widgets/dialog/otp_dialog.dart';
import 'package:car_provider_app/widgets/dropdown/dropdow_field.dart';
import 'package:car_provider_app/widgets/show_fill_button.dart'; import 'package:car_provider_app/widgets/show_fill_button.dart';
import 'package:car_provider_app/extensions/string_extensions.dart'; import 'package:car_provider_app/extensions/string_extensions.dart';
import 'package:car_provider_app/extensions/int_extensions.dart'; import 'package:car_provider_app/extensions/int_extensions.dart';
import 'package:car_provider_app/extensions/widget_extensions.dart'; import 'package:car_provider_app/extensions/widget_extensions.dart';
import 'package:car_provider_app/widgets/tab/login_email_tab.dart';
import 'package:car_provider_app/widgets/txt_field.dart'; import 'package:car_provider_app/widgets/txt_field.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:car_provider_app/models/user/user.dart'; import 'package:car_provider_app/models/user/user.dart';
@ -36,6 +39,20 @@ class _ForgetPasswordPageState extends State<ForgetPasswordPage> {
String userName = ""; String userName = "";
bool _email = true; bool _email = true;
bool _mobile = true; bool _mobile = true;
ClassType type = ClassType.NUMBER;
Country? _country;
String countryCode = "";
@override
void initState() {
super.initState();
getCountryList();
}
getCountryList() async {
_country = await UserApiClent().getAllCountries();
setState(() {});
}
@override @override
@ -48,62 +65,41 @@ class _ForgetPasswordPageState extends State<ForgetPasswordPage> {
padding: EdgeInsets.all(40), padding: EdgeInsets.all(40),
child:Column( child:Column(
children: [ children: [
"Verify New Password".toText24(),
mFlex(1), mFlex(1),
Row( LoginEmailTab(
mainAxisAlignment: MainAxisAlignment.spaceBetween, onSelection: (ClassType type) {
children: [
RaisedButton(
onPressed: () {
setState(() { setState(() {
_mobile = true; this.type = type;
_email = false;
}); });
},child: },
Text("Mobile Number",
style: TextStyle(fontSize: 14,
fontWeight: FontWeight.w600,),
),color: _mobile ? Colors.blue : Colors.transparent,textColor: _mobile ? Colors.white : Colors.blue,
padding: EdgeInsets.symmetric(horizontal: 18, vertical: 12),),
RaisedButton(onPressed: () {
setState(() {
_mobile = false;
_email = true;
});
},child:
Text("Email Address",
style: TextStyle(fontSize: 14,
fontWeight: FontWeight.w600,),),color: _email? Colors.blue : Colors.transparent
,textColor: _email ? Colors.white : Colors.blue,
padding: EdgeInsets.symmetric(horizontal: 18, vertical: 12),),
],
), ),
50.height, 50.height,
"Retrieve Password".toText24(), "Retrieve Password".toText24(),
12.height, 12.height,
_mobile ? TxtField( type == ClassType.NUMBER ? Column(children: [
hint: "Phone Number" , getCountry(),
TxtField(
hint: "5********",
value: userName, value: userName,
onChanged: (v) { onChanged: (v) {
userName = v; userName = v;
}, },
): )
_email ? TxtField( ],) : TxtField(
hint: "Email Address", hint: "Email Address",
value: userName, value: userName,
onChanged: (v) { onChanged: (v) {
userName = v; userName = v;
}, },
): Container(), ),
50.height, 50.height,
ShowFillButton( ShowFillButton(
title: "Continue", title: "Continue",
width: double.infinity, width: double.infinity,
onPressed: () { onPressed: () {
if(userName.isNum() && _mobile) { if (userName.isNum()&& !userName.isValidEmail() && type==ClassType.NUMBER) {
forgetPasswordPhoneOTP(context); forgetPasswordPhoneOTP(context);
}else if (!userName.isNum() && _email) { } else if (userName.isValidEmail() && type==ClassType.EMAIL) {
forgetPasswordEmailOTP(context); forgetPasswordEmailOTP(context);
} }
}, },
@ -115,9 +111,29 @@ class _ForgetPasswordPageState extends State<ForgetPasswordPage> {
); );
} }
Widget getCountry() {
if (_country != null) {
List<DropValue> dropList = [];
_country!.data?.forEach((element) {
dropList.add(new DropValue(element.id ?? 0, (element.countryName ?? "") + " " + (element.countryCode ?? ""), element.countryCode ?? ""));
});
return Padding(
padding: const EdgeInsets.all(2.0),
child: DropdownField((DropValue value) {
countryCode = value.subValue;
}, list: dropList, hint: "Chose Country"),
);
} else {
return Center(
child: CircularProgressIndicator(),
);
}
}
Future<void> forgetPasswordPhoneOTP(BuildContext context) async { Future<void> forgetPasswordPhoneOTP(BuildContext context) async {
Utils.showLoading(context); Utils.showLoading(context);
Response response = await UserApiClent().ForgetPasswordOTPRequest(userName, otpType); Response response = await UserApiClent().ForgetPasswordOTPRequest(countryCode+userName, otpType);
Utils.hideLoading(context); Utils.hideLoading(context);
PasswordOTPRequest otpRequest = PasswordOTPRequest.fromJson(jsonDecode(response.body)); PasswordOTPRequest otpRequest = PasswordOTPRequest.fromJson(jsonDecode(response.body));
if (otpRequest.messageStatus == 1) { if (otpRequest.messageStatus == 1) {

Loading…
Cancel
Save