diff --git a/lib/api/user_api_client.dart b/lib/api/user_api_client.dart index 8b1c093..f425a32 100644 --- a/lib/api/user_api_client.dart +++ b/lib/api/user_api_client.dart @@ -41,7 +41,11 @@ class UserApiClent { } Future basicComplete(String userId, String firstName, String lastName, String email, String password) async { - var postParams = {"userID": userId, "firstName": firstName, "lastName": lastName, "email": email, "companyName": "string", "isEmailVerified": true, "password": password}; + var postParams; + if(email.isEmpty) +{ postParams = {"userID": userId, "firstName": firstName, "lastName": lastName, "companyName": "string", "isEmailVerified": true, "password": password}; +}else{ postParams = {"userID": userId, "firstName": firstName, "lastName": lastName, "email": email, "companyName": "string", "isEmailVerified": true, "password": password}; + } return await ApiClient().postJsonForObject((json) => RegisterUser.fromJson(json), ApiConsts.BasicComplete, postParams); } @@ -159,13 +163,13 @@ class UserApiClent { return await ApiClient().postJsonForObject((json) => VerifyEmail.fromJson(json), ApiConsts.EmailVerify, postParams, token: t); } - Future EmailVerifyOTPVerify(String userToken, String userOTP) async { + Future EmailVerifyOTPVerify(String userToken, String userOTP) async { var postParams = {"userToken": userToken, "userOTP": userOTP}; String t = AppState().getUser.data!.accessToken ?? ""; - return await ApiClient().postJsonForObject((json) => VerifyEmailOTP.fromJson(json), ApiConsts.EmailVerifyOTPVerify, postParams, token: t); + return await ApiClient().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.EmailVerifyOTPVerify, postParams, token: t); } diff --git a/lib/pages/user/complete_profile_page.dart b/lib/pages/user/complete_profile_page.dart index 9714ade..941abf4 100644 --- a/lib/pages/user/complete_profile_page.dart +++ b/lib/pages/user/complete_profile_page.dart @@ -51,7 +51,7 @@ class _CompleteProfilePageState extends State { 12.height, TxtField( - hint: "First Name", + hint: "First Name *", value: firstName, onChanged: (v) { firstName = v; @@ -59,7 +59,7 @@ class _CompleteProfilePageState extends State { ), 12.height, TxtField( - hint: "Surname", + hint: "Surname *", value: lastName, onChanged: (v) { lastName = v; @@ -75,7 +75,7 @@ class _CompleteProfilePageState extends State { ), 12.height, TxtField( - hint: "Create Password", + hint: "Create Password *", isPasswordEnabled: true, maxLines: 1, value: password, @@ -85,7 +85,7 @@ class _CompleteProfilePageState extends State { ), 12.height, TxtField( - hint: "Confirm Password", + hint: "Confirm Password *", isPasswordEnabled: true, maxLines: 1, value: confirmPassword, diff --git a/lib/pages/user/edit_account_page.dart b/lib/pages/user/edit_account_page.dart index f2f2a38..7f48079 100644 --- a/lib/pages/user/edit_account_page.dart +++ b/lib/pages/user/edit_account_page.dart @@ -3,9 +3,11 @@ import 'dart:convert'; import 'package:car_customer_app/api/shared_prefrence.dart'; import 'package:car_customer_app/api/user_api_client.dart'; +import 'package:car_customer_app/classes/app_state.dart'; import 'package:car_customer_app/classes/utils.dart'; import 'package:car_customer_app/config/routes.dart'; import 'package:car_customer_app/extensions/string_extensions.dart'; +import 'package:car_customer_app/models/user/change_password.dart'; import 'package:car_customer_app/models/user/email_verify.dart'; import 'package:car_customer_app/models/user/email_verify_otp.dart'; import 'package:car_customer_app/utils/navigator.dart'; @@ -27,7 +29,7 @@ class EditAccountPage extends StatefulWidget { class _EditAccountPageState extends State { String userID = ""; String email = ''; - bool isVerified = false; + //bool isVerified = true; @override Widget build(BuildContext context) { @@ -72,8 +74,11 @@ class _EditAccountPageState extends State { Icon(Icons.email, color: Colors.blue,), "Change Email".toText12(), InkWell( - child: "Verify".toText12(), - onTap:() { + child:((AppState().getUser.data!.userInfo!.isEmailVerified??false)?"Verified" :"Verify").toText12(), + onTap: + (AppState().getUser.data!.userInfo!.isEmailVerified??false) ? + null + :(){ verifyEmail(context); }, ), @@ -89,21 +94,6 @@ class _EditAccountPageState extends State { ) ], ) - // ListTile( - // leading: Icon(Icons.phone_android_sharp, color: Colors.blue,), - // title: "Change Mobile".toText12(), - // onTap: () { - // navigateWithName(context, AppRoutes.changeMobilePage); - // }, - // ), - // ListTile( - // leading: Icon(Icons.email_outlined, color: Colors.blue,), - // title: "Change Email".toText12(), - // onTap: () { - // navigateWithName(context, AppRoutes.changeEmailPage); - // }, - // ), - ], ), ), @@ -120,22 +110,18 @@ class _EditAccountPageState extends State { onClick: (String code) async { pop(context); Utils.showLoading(context); - VerifyEmailOTP otpCompare = await UserApiClent().EmailVerifyOTPVerify(otpRequest.data!.userToken ?? "", code); + MResponse otpCompare = await UserApiClent().EmailVerifyOTPVerify(otpRequest.data!.userToken ?? "", code); Utils.hideLoading(context); - if (otpCompare.success == true) { - showMDialog( - context, - child: MessageDialog( - title: "Email Verified", - onClick: () { - // !isVerified; - pop(context); - // Navigator.of(context).pushNamedAndRemoveUntil(AppRoutes.dashboard, (Route route) => false); - }, - ), - ); + if (otpCompare.messageStatus == 1) { + AppState().getUser.data!.userInfo!.isEmailVerified=true; + setState(() { + + }); + Utils.showToast("Email is verified successfully"); + pop(context); + } else { - Utils.showToast(otpCompare.errors ?? ""); + Utils.showToast(otpCompare.message ?? ""); } }, )); diff --git a/lib/pages/user/login_with_password_page.dart b/lib/pages/user/login_with_password_page.dart index 34cde9f..2fd710c 100644 --- a/lib/pages/user/login_with_password_page.dart +++ b/lib/pages/user/login_with_password_page.dart @@ -104,7 +104,7 @@ class _LoginWithPasswordState extends State { Row( mainAxisAlignment: MainAxisAlignment.end, children: [ - "Forget Password".toText12(color: Colors.blue).onPress(() { + "Forget Password ?".toText12(color: Colors.blue).onPress(() { navigateWithName(context, AppRoutes.forgetPassword); }), ],