Login Skip

localization_aamir
Aamir.Muhammad 2 years ago
parent 201cbd185c
commit 9d1e463281

@ -10,9 +10,11 @@ import 'package:http/http.dart';
import 'package:huawei_fido/huawei_fido.dart'; import 'package:huawei_fido/huawei_fido.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:local_auth/local_auth.dart'; import 'package:local_auth/local_auth.dart';
import 'package:logger/logger.dart';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart'; import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/main.dart'; import 'package:mc_common_app/main.dart';
import 'package:mc_common_app/models/general_models/m_response.dart'; import 'package:mc_common_app/models/general_models/m_response.dart';
@ -70,19 +72,16 @@ class UserVM extends BaseVM {
notifyListeners(); notifyListeners();
} }
Future<void> changeUserEmail( Future<void> changeUserEmail(BuildContext context, String email, String password) async {
BuildContext context, String email, String password) async {
Utils.showLoading(context); Utils.showLoading(context);
ChanEmailRespModel otpRequest = ChanEmailRespModel otpRequest = await userRepo.changeEmailOTPRequest(email, password);
await userRepo.changeEmailOTPRequest(email, password);
Utils.hideLoading(context); Utils.hideLoading(context);
if (otpRequest.messageStatus == 1) { if (otpRequest.messageStatus == 1) {
showMDialog(context, child: OtpDialog( showMDialog(context, child: OtpDialog(
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
ConfirmEmailRespModel otpCompare = await userRepo.changeEmail( ConfirmEmailRespModel otpCompare = await userRepo.changeEmail(otpRequest.data!.userToken ?? "", code);
otpRequest.data!.userToken ?? "", code);
Utils.hideLoading(context); Utils.hideLoading(context);
if (otpCompare.messageStatus == 1) { if (otpCompare.messageStatus == 1) {
showMDialog( showMDialog(
@ -91,9 +90,7 @@ class UserVM extends BaseVM {
title: LocaleKeys.emailChangedSuccessfully.tr(), title: LocaleKeys.emailChangedSuccessfully.tr(),
//"Email is Changed Successfully", //"Email is Changed Successfully",
onClick: () { onClick: () {
Navigator.of(context).pushNamedAndRemoveUntil( Navigator.of(context).pushNamedAndRemoveUntil(AppRoutes.loginWithPassword, (Route<dynamic> route) => true);
AppRoutes.loginWithPassword,
(Route<dynamic> route) => true);
}, },
), ),
); );
@ -107,19 +104,16 @@ class UserVM extends BaseVM {
} }
} }
Future<void> changeUserMobile(BuildContext context, int countryId, Future<void> changeUserMobile(BuildContext context, int countryId, String mobileNo, String password) async {
String mobileNo, String password) async {
Utils.showLoading(context); Utils.showLoading(context);
ChangeMobileRespModel otpRequest = ChangeMobileRespModel otpRequest = await userRepo.changeMobileNoOTPRequest(countryId, mobileNo, password);
await userRepo.changeMobileNoOTPRequest(countryId, mobileNo, password);
Utils.hideLoading(context); Utils.hideLoading(context);
if (otpRequest.messageStatus == 1) { if (otpRequest.messageStatus == 1) {
showMDialog(context, child: OtpDialog( showMDialog(context, child: OtpDialog(
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
ConfirmMobileRespModel otpCompare = await userRepo.changeMobileNo( ConfirmMobileRespModel otpCompare = await userRepo.changeMobileNo(otpRequest.data!.userToken ?? "", code);
otpRequest.data!.userToken ?? "", code);
Utils.hideLoading(context); Utils.hideLoading(context);
if (otpCompare.messageStatus == 1) { if (otpCompare.messageStatus == 1) {
showMDialog( showMDialog(
@ -128,9 +122,7 @@ class UserVM extends BaseVM {
title: LocaleKeys.phoneNumberVerified.tr(), title: LocaleKeys.phoneNumberVerified.tr(),
//"Phone Number Verified", //"Phone Number Verified",
onClick: () { onClick: () {
Navigator.of(context).pushNamedAndRemoveUntil( Navigator.of(context).pushNamedAndRemoveUntil(AppRoutes.loginWithPassword, (Route<dynamic> route) => true);
AppRoutes.loginWithPassword,
(Route<dynamic> route) => true);
}, },
), ),
); );
@ -144,19 +136,16 @@ class UserVM extends BaseVM {
} }
} }
Future<void> changeUserPassword( Future<void> changeUserPassword(BuildContext context, String newPassword, String currentPassword) async {
BuildContext context, String newPassword, String currentPassword) async {
if (Utils.passwordValidateStructure(newPassword)) { if (Utils.passwordValidateStructure(newPassword)) {
Utils.showLoading(context); Utils.showLoading(context);
MResponse res = MResponse res = await userRepo.changePassword(currentPassword, newPassword);
await userRepo.changePassword(currentPassword, newPassword);
Utils.hideLoading(context); Utils.hideLoading(context);
if (res.messageStatus == 1) { if (res.messageStatus == 1) {
Utils.showToast(LocaleKeys.passwordIsUpdated.tr()); Utils.showToast(LocaleKeys.passwordIsUpdated.tr());
//("Password is Updated"); //("Password is Updated");
// navigateWithName(context, AppRoutes.loginWithPassword); // navigateWithName(context, AppRoutes.loginWithPassword);
Navigator.of(context).pushNamedAndRemoveUntil( Navigator.of(context).pushNamedAndRemoveUntil(AppRoutes.loginWithPassword, (Route<dynamic> route) => true);
AppRoutes.loginWithPassword, (Route<dynamic> route) => true);
} else { } else {
Utils.showToast(res.message ?? ""); Utils.showToast(res.message ?? "");
} }
@ -255,12 +244,10 @@ class UserVM extends BaseVM {
notifyListeners(); notifyListeners();
} }
Future<void> confirmPasswordOTP(BuildContext context, Future<void> confirmPasswordOTP(BuildContext context, {required String userToken, required String newPassword}) async {
{required String userToken, required String newPassword}) async {
if (Utils.passwordValidateStructure(newPassword)) { if (Utils.passwordValidateStructure(newPassword)) {
Utils.showLoading(context); Utils.showLoading(context);
ConfirmPasswordRespModel data = ConfirmPasswordRespModel data = await userRepo.forgetPassword(userToken, newPassword);
await userRepo.forgetPassword(userToken, newPassword);
Utils.hideLoading(context); Utils.hideLoading(context);
if (data.messageStatus == 1) { if (data.messageStatus == 1) {
Utils.showToast(LocaleKeys.passwordIsUpdated.tr()); Utils.showToast(LocaleKeys.passwordIsUpdated.tr());
@ -273,8 +260,7 @@ class UserVM extends BaseVM {
} }
} }
Future<void> verifyEmail(BuildContext context, Future<void> verifyEmail(BuildContext context, {required String email, required String userID}) async {
{required String email, required String userID}) async {
Utils.showLoading(context); Utils.showLoading(context);
VerifyEmailRespModel otpRequest = await userRepo.emailVerify(email, userID); VerifyEmailRespModel otpRequest = await userRepo.emailVerify(email, userID);
Utils.hideLoading(context); Utils.hideLoading(context);
@ -283,8 +269,7 @@ class UserVM extends BaseVM {
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
MResponse otpCompare = await userRepo.emailVerifyOTPVerify( MResponse otpCompare = await userRepo.emailVerifyOTPVerify(otpRequest.data!.userToken ?? "", code);
otpRequest.data!.userToken ?? "", code);
Utils.hideLoading(context); Utils.hideLoading(context);
if (otpCompare.messageStatus == 1) { if (otpCompare.messageStatus == 1) {
AppState().getUser.data!.userInfo!.isEmailVerified = true; AppState().getUser.data!.userInfo!.isEmailVerified = true;
@ -300,19 +285,16 @@ class UserVM extends BaseVM {
notifyListeners(); notifyListeners();
} }
Future<void> forgetPasswordOTPMethod(BuildContext context, Future<void> forgetPasswordOTPMethod(BuildContext context, {required String userToken}) async {
{required String userToken}) async {
showMDialog(context, child: OtpDialog( showMDialog(context, child: OtpDialog(
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
PasswordOTPCompareResModel otpCompare = PasswordOTPCompareResModel otpCompare = await userRepo.forgetPasswordOTPCompare(userToken, code);
await userRepo.forgetPasswordOTPCompare(userToken, code);
Utils.hideLoading(context); Utils.hideLoading(context);
if (otpCompare.messageStatus == 1) { if (otpCompare.messageStatus == 1) {
var userToken = otpCompare.data!.userToken; var userToken = otpCompare.data!.userToken;
navigateWithName(context, AppRoutes.confirmNewPasswordPage, navigateWithName(context, AppRoutes.confirmNewPasswordPage, arguments: userToken);
arguments: userToken);
} else { } else {
Utils.showToast(otpCompare.message ?? ""); Utils.showToast(otpCompare.message ?? "");
} }
@ -320,48 +302,35 @@ class UserVM extends BaseVM {
)); ));
} }
Future<void> forgetPasswordPhoneOTP(BuildContext context, Future<void> forgetPasswordPhoneOTP(BuildContext context, {required String countryCode, required String userName, required int otpType}) async {
{required String countryCode,
required String userName,
required int otpType}) async {
Utils.showLoading(context); Utils.showLoading(context);
Response response = await userRepo.forgetPasswordOTPRequest( Response response = await userRepo.forgetPasswordOTPRequest(countryCode + userName, otpType);
countryCode + userName, otpType);
Utils.hideLoading(context); Utils.hideLoading(context);
PasswordOTPRequestRespModel otpRequest = PasswordOTPRequestRespModel otpRequest = PasswordOTPRequestRespModel.fromJson(jsonDecode(response.body));
PasswordOTPRequestRespModel.fromJson(jsonDecode(response.body));
if (otpRequest.messageStatus == 1) { if (otpRequest.messageStatus == 1) {
var userToken = otpRequest.data!.userToken; var userToken = otpRequest.data!.userToken;
navigateReplaceWithName(context, AppRoutes.forgetPasswordMethodPage, navigateReplaceWithName(context, AppRoutes.forgetPasswordMethodPage, arguments: userToken);
arguments: userToken);
} else { } else {
Utils.showToast(otpRequest.message ?? ""); Utils.showToast(otpRequest.message ?? "");
} }
} }
Future<void> forgetPasswordEmailOTP(BuildContext context, Future<void> forgetPasswordEmailOTP(BuildContext context, {required String countryCode, required String userName, required int otpType}) async {
{required String countryCode,
required String userName,
required int otpType}) async {
Utils.showLoading(context); Utils.showLoading(context);
Response response = Response response = await userRepo.forgetPasswordOTPRequest(userName, otpType);
await userRepo.forgetPasswordOTPRequest(userName, otpType);
Utils.hideLoading(context); Utils.hideLoading(context);
PasswordOTPRequestRespModel otpRequest = PasswordOTPRequestRespModel otpRequest = PasswordOTPRequestRespModel.fromJson(jsonDecode(response.body));
PasswordOTPRequestRespModel.fromJson(jsonDecode(response.body));
if (otpRequest.messageStatus == 1) { if (otpRequest.messageStatus == 1) {
Utils.showToast(LocaleKeys.codeSentToEmail.tr()); Utils.showToast(LocaleKeys.codeSentToEmail.tr());
showMDialog(context, child: OtpDialog( showMDialog(context, child: OtpDialog(
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
PasswordOTPCompareResModel otpCompare = await userRepo PasswordOTPCompareResModel otpCompare = await userRepo.forgetPasswordOTPCompare(otpRequest.data!.userToken ?? "", code);
.forgetPasswordOTPCompare(otpRequest.data!.userToken ?? "", code);
Utils.hideLoading(context); Utils.hideLoading(context);
if (otpCompare.messageStatus == 1) { if (otpCompare.messageStatus == 1) {
var userToken = otpCompare.data!.userToken; var userToken = otpCompare.data!.userToken;
navigateWithName(context, AppRoutes.confirmNewPasswordPage, navigateWithName(context, AppRoutes.confirmNewPasswordPage, arguments: userToken);
arguments: userToken);
} else { } else {
Utils.showToast(otpCompare.message ?? ""); Utils.showToast(otpCompare.message ?? "");
} }
@ -372,33 +341,25 @@ class UserVM extends BaseVM {
} }
} }
Future<void> performBasicOtpLoginSelectionPage(BuildContext context, Future<void> performBasicOtpLoginSelectionPage(BuildContext context, {required String userToken, required AppType appType, String? loginType}) async {
{required String userToken,
required AppType appType,
String? loginType}) async {
if (loginType == "3" || loginType == "4") { if (loginType == "3" || loginType == "4") {
Utils.showLoading(context); Utils.showLoading(context);
LoginPasswordRespModel user = LoginPasswordRespModel user = await userRepo.loginV2OTP(userToken, loginType!);
await userRepo.loginV2OTP(userToken, loginType!);
Utils.hideLoading(context); Utils.hideLoading(context);
if (user.messageStatus == 1) { if (user.messageStatus == 1) {
Utils.showLoading(context); Utils.showLoading(context);
Response response2 = Response response2 = await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", "9999");
await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", "9999");
Utils.hideLoading(context); Utils.hideLoading(context);
RegisterUserRespModel verifiedUser = RegisterUserRespModel verifiedUser = RegisterUserRespModel.fromJson(jsonDecode(response2.body));
RegisterUserRespModel.fromJson(jsonDecode(response2.body));
if (verifiedUser.messageStatus == 1) { if (verifiedUser.messageStatus == 1) {
User user = User.fromJson(jsonDecode(response2.body)); User user = User.fromJson(jsonDecode(response2.body));
if (appType == AppType.provider) { if (appType == AppType.provider) {
if (user.data!.userInfo!.roleId == 5 || if (user.data!.userInfo!.roleId == 5 || user.data!.userInfo!.roleId == 6) {
user.data!.userInfo!.roleId == 6) {
AppState().setUser = user; AppState().setUser = user;
SharedPrefManager.setUserToken(user.data!.accessToken ?? ""); SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? ""); SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? ""); SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
SharedPrefManager.setData( SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
jsonEncode(user.data!.userInfo!.toJson()));
navigateReplaceWithName(context, AppRoutes.dashboard); navigateReplaceWithName(context, AppRoutes.dashboard);
} else { } else {
Utils.showToast(LocaleKeys.onlyProviderApp.tr()); Utils.showToast(LocaleKeys.onlyProviderApp.tr());
@ -410,8 +371,7 @@ class UserVM extends BaseVM {
SharedPrefManager.setUserToken(user.data!.accessToken ?? ""); SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? ""); SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? ""); SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
SharedPrefManager.setData( SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
jsonEncode(user.data!.userInfo!.toJson()));
navigateReplaceWithName(context, AppRoutes.dashboard); navigateReplaceWithName(context, AppRoutes.dashboard);
} else { } else {
Utils.showToast(LocaleKeys.onlyCustomerApp.tr()); Utils.showToast(LocaleKeys.onlyCustomerApp.tr());
@ -430,24 +390,18 @@ class UserVM extends BaseVM {
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
Response response2 = await userRepo.loginV2OTPVerify( Response response2 = await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", code);
user.data!.userToken ?? "", code);
Utils.hideLoading(context); Utils.hideLoading(context);
RegisterUserRespModel verifiedUser = RegisterUserRespModel verifiedUser = RegisterUserRespModel.fromJson(jsonDecode(response2.body));
RegisterUserRespModel.fromJson(jsonDecode(response2.body));
if (verifiedUser.messageStatus == 1) { if (verifiedUser.messageStatus == 1) {
User user = User.fromJson(jsonDecode(response2.body)); User user = User.fromJson(jsonDecode(response2.body));
if (appType == AppType.provider) { if (appType == AppType.provider) {
if (user.data!.userInfo!.roleId == 5 || if (user.data!.userInfo!.roleId == 5 || user.data!.userInfo!.roleId == 6) {
user.data!.userInfo!.roleId == 6) {
AppState().setUser = user; AppState().setUser = user;
SharedPrefManager.setUserToken(user.data!.accessToken ?? ""); SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
SharedPrefManager.setUserId( SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
user.data!.userInfo!.userId ?? ""); SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
SharedPrefManager.setRefreshToken( SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
user.data!.refreshToken ?? "");
SharedPrefManager.setData(
jsonEncode(user.data!.userInfo!.toJson()));
navigateReplaceWithName(context, AppRoutes.dashboard); navigateReplaceWithName(context, AppRoutes.dashboard);
} else { } else {
Utils.showToast(LocaleKeys.onlyProviderApp.tr()); Utils.showToast(LocaleKeys.onlyProviderApp.tr());
@ -457,12 +411,9 @@ class UserVM extends BaseVM {
if (user.data!.userInfo!.roleId == 4) { if (user.data!.userInfo!.roleId == 4) {
AppState().setUser = user; AppState().setUser = user;
SharedPrefManager.setUserToken(user.data!.accessToken ?? ""); SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
SharedPrefManager.setUserId( SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
user.data!.userInfo!.userId ?? ""); SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
SharedPrefManager.setRefreshToken( SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
user.data!.refreshToken ?? "");
SharedPrefManager.setData(
jsonEncode(user.data!.userInfo!.toJson()));
navigateReplaceWithName(context, AppRoutes.dashboard); navigateReplaceWithName(context, AppRoutes.dashboard);
} else { } else {
Utils.showToast(LocaleKeys.onlyCustomerApp.tr()); Utils.showToast(LocaleKeys.onlyCustomerApp.tr());
@ -479,8 +430,7 @@ class UserVM extends BaseVM {
} }
} }
Future<String> performApiCallLoginVerificationPage( Future<String> performApiCallLoginVerificationPage(BuildContext context) async {
BuildContext context) async {
String userToken = ""; String userToken = "";
String userName = await SharedPrefManager.getPhoneOrEmail(); String userName = await SharedPrefManager.getPhoneOrEmail();
String password = await SharedPrefManager.getUserPassword(); String password = await SharedPrefManager.getUserPassword();
@ -488,8 +438,7 @@ class UserVM extends BaseVM {
Utils.showLoading(context); Utils.showLoading(context);
Response response = await userRepo.loginV1(userName, password); Response response = await userRepo.loginV1(userName, password);
Utils.hideLoading(context); Utils.hideLoading(context);
LoginPasswordRespModel user = LoginPasswordRespModel user = LoginPasswordRespModel.fromJson(jsonDecode(response.body));
LoginPasswordRespModel.fromJson(jsonDecode(response.body));
if (user.messageStatus == 1) { if (user.messageStatus == 1) {
userToken = user.data!.userToken ?? ""; userToken = user.data!.userToken ?? "";
// navigateWithName(context, AppRoutes.loginMethodSelection, arguments: user.data!.userToken); // navigateWithName(context, AppRoutes.loginMethodSelection, arguments: user.data!.userToken);
@ -500,8 +449,7 @@ class UserVM extends BaseVM {
return userToken; return userToken;
} }
Future<void> performBasicOtpLoginVerificationPage(BuildContext context, Future<void> performBasicOtpLoginVerificationPage(BuildContext context, {required String userToken}) async {
{required String userToken}) async {
Utils.showLoading(context); Utils.showLoading(context);
LoginPasswordRespModel user = await userRepo.loginV2OTP(userToken, "1"); LoginPasswordRespModel user = await userRepo.loginV2OTP(userToken, "1");
Utils.hideLoading(context); Utils.hideLoading(context);
@ -510,11 +458,9 @@ class UserVM extends BaseVM {
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
Response response2 = Response response2 = await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", code);
await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", code);
Utils.hideLoading(context); Utils.hideLoading(context);
RegisterUserRespModel verifiedUser = RegisterUserRespModel verifiedUser = RegisterUserRespModel.fromJson(jsonDecode(response2.body));
RegisterUserRespModel.fromJson(jsonDecode(response2.body));
if (verifiedUser.messageStatus == 1) { if (verifiedUser.messageStatus == 1) {
User user = User.fromJson(jsonDecode(response2.body)); User user = User.fromJson(jsonDecode(response2.body));
AppState().setUser = user; AppState().setUser = user;
@ -529,19 +475,16 @@ class UserVM extends BaseVM {
} }
} }
Future<void> performBasicOtpLoginVerifyAccountPage(BuildContext context, Future<void> performBasicOtpLoginVerifyAccountPage(BuildContext context, {required String phoneNum, required int otpType}) async {
{required String phoneNum, required int otpType}) async {
Utils.showLoading(context); Utils.showLoading(context);
BasicOtpRespModel basicOtp = BasicOtpRespModel basicOtp = await userRepo.basicOtp(phoneNum, otpType: otpType);
await userRepo.basicOtp(phoneNum, otpType: otpType);
Utils.hideLoading(context); Utils.hideLoading(context);
if (basicOtp.messageStatus == 1) { if (basicOtp.messageStatus == 1) {
showMDialog(context, child: OtpDialog( showMDialog(context, child: OtpDialog(
onClick: (String code) async { onClick: (String code) async {
pop(context); pop(context);
Utils.showLoading(context); Utils.showLoading(context);
RegisterUserRespModel user = await userRepo.basicVerify( RegisterUserRespModel user = await userRepo.basicVerify(phoneNum, code, basicOtp.data!.userToken ?? "");
phoneNum, code, basicOtp.data!.userToken ?? "");
Utils.hideLoading(context); Utils.hideLoading(context);
if (user.messageStatus == 1) { if (user.messageStatus == 1) {
Utils.showToast(user.message ?? ""); Utils.showToast(user.message ?? "");
@ -552,8 +495,7 @@ class UserVM extends BaseVM {
//"Phone Number Verified", //"Phone Number Verified",
onClick: () { onClick: () {
pop(context); pop(context);
navigateWithName(context, AppRoutes.profile1, navigateWithName(context, AppRoutes.profile1, arguments: user);
arguments: user);
}, },
), ),
); );
@ -567,23 +509,25 @@ class UserVM extends BaseVM {
} }
} }
Future<void> performBasicOtpLoginWithPasswordPage(BuildContext context, Future<void> performBasicOtpLoginWithPasswordPage(BuildContext context, {required ClassType type, String? countryCode, required String phoneNum, required String password}) async {
{required ClassType type,
required String countryCode,
required String phoneNum,
required String password}) async {
Utils.showLoading(context); Utils.showLoading(context);
Response response = await userRepo.loginV1( Response response = await userRepo.loginV1(
type == ClassType.NUMBER ? countryCode + phoneNum : phoneNum, password); type == ClassType.NUMBER && countryCode != null
? countryCode + phoneNum
: type == ClassType.NUMBER && countryCode == null
? phoneNum
: phoneNum,
password);
Utils.hideLoading(context); Utils.hideLoading(context);
LoginPasswordRespModel user = LoginPasswordRespModel user = LoginPasswordRespModel.fromJson(jsonDecode(response.body));
LoginPasswordRespModel.fromJson(jsonDecode(response.body));
if (user.messageStatus == 1) { if (user.messageStatus == 1) {
SharedPrefManager.setPhoneOrEmail( SharedPrefManager.setPhoneOrEmail(type == ClassType.NUMBER && countryCode != null
type == ClassType.NUMBER ? countryCode + phoneNum : phoneNum); ? countryCode + phoneNum
: type == ClassType.NUMBER && countryCode == null
? phoneNum
: phoneNum);
SharedPrefManager.setUserPassword(password); SharedPrefManager.setUserPassword(password);
navigateReplaceWithName(context, AppRoutes.loginMethodSelection, navigateReplaceWithName(context, AppRoutes.loginMethodSelection, arguments: user.data!.userToken);
arguments: user.data!.userToken);
} else { } else {
Utils.showToast(user.message ?? ""); Utils.showToast(user.message ?? "");
} }
@ -594,14 +538,9 @@ class UserVM extends BaseVM {
} }
Future<void> performBasicOtpRegisterPage(BuildContext context, Future<void> performBasicOtpRegisterPage(BuildContext context,
{required String countryCode, {required String countryCode, required String phoneNum, required int role, bool isNeedToPassToken = false, VoidCallback? reloadPage}) async {
required String phoneNum,
required int role,
bool isNeedToPassToken = false,
VoidCallback? reloadPage}) async {
Utils.showLoading(context); Utils.showLoading(context);
BasicOtpRespModel basicOtp = await userRepo.basicOtp(countryCode + phoneNum, BasicOtpRespModel basicOtp = await userRepo.basicOtp(countryCode + phoneNum, roleId: role, isNeedToPassToken: isNeedToPassToken);
roleId: role, isNeedToPassToken: isNeedToPassToken);
Utils.hideLoading(context); Utils.hideLoading(context);
if (basicOtp.messageStatus == 1) { if (basicOtp.messageStatus == 1) {
showMDialog(context, child: OtpDialog( showMDialog(context, child: OtpDialog(
@ -619,9 +558,7 @@ class UserVM extends BaseVM {
Utils.showToast(user.message ?? ""); Utils.showToast(user.message ?? "");
user.data!.roleId = role; user.data!.roleId = role;
user.data!.isNeedToPassToken = isNeedToPassToken; user.data!.isNeedToPassToken = isNeedToPassToken;
navigateReplaceWithName(context, AppRoutes.completeProfile, navigateReplaceWithName(context, AppRoutes.completeProfile, arguments: user).then((value) {
arguments: user)
.then((value) {
if (reloadPage != null) { if (reloadPage != null) {
reloadPage(); reloadPage();
} }
@ -647,8 +584,7 @@ class UserVM extends BaseVM {
}) async { }) async {
bool auth = await CommonAuthImp().authenticate(); bool auth = await CommonAuthImp().authenticate();
if (auth) { if (auth) {
performBasicOtpLoginSelectionPage(context!, performBasicOtpLoginSelectionPage(context!, userToken: userToken!, appType: apptype!, loginType: loginType);
userToken: userToken!, appType: apptype!, loginType: loginType);
} }
} }
@ -666,8 +602,7 @@ class UserVM extends BaseVM {
} }
Future<void> updateUserImage(BuildContext context) async { Future<void> updateUserImage(BuildContext context) async {
File? myPick = File? myPick = await commanServices.pickFile(context, fileType: FileType.image);
await commanServices.pickFile(context, fileType: FileType.image);
if (myPick != null) { if (myPick != null) {
userRepo.updateUserImage(encodeBase64Image(myPick)).whenComplete(() { userRepo.updateUserImage(encodeBase64Image(myPick)).whenComplete(() {
AppState().getUser.data!.userInfo!.userLocalImage = myPick; AppState().getUser.data!.userInfo!.userLocalImage = myPick;
@ -681,4 +616,20 @@ class UserVM extends BaseVM {
print(imageBytes); print(imageBytes);
return base64Encode(imageBytes); return base64Encode(imageBytes);
} }
Future<void> isAlreadyUserLoggedin(BuildContext context) async {
String uName = await SharedPrefManager.getPhoneOrEmail();
String pass = await SharedPrefManager.getUserPassword();
if (uName.isNotEmpty && pass.isNotEmpty) {
logger.d(uName);
if (uName.isNum()) {
performBasicOtpLoginWithPasswordPage(context, type: ClassType.NUMBER, countryCode: null, phoneNum: uName, password: pass);
}
if (uName.isValidEmail()) {
performBasicOtpLoginWithPasswordPage(context, type: ClassType.EMAIL, countryCode: null, phoneNum: uName, password: pass);
}
logger.d("Skip Login Triggered");
}
}
} }

@ -45,15 +45,15 @@ class _LoginWithPasswordState extends State<LoginWithPassword> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
if (AppState().currentAppType == AppType.provider) {
// phoneNum = "966580816976";
// password = "123@Shf";
phoneNum = "966530896018";
password = "Amir@1234";
}
scheduleMicrotask(() { scheduleMicrotask(() {
if (AppState().currentAppType == AppType.provider) {
phoneNum = "966530896018";
password = "Amir@1234";
}
userVM = Provider.of(context, listen: false); userVM = Provider.of(context, listen: false);
context.read<UserVM>().getAvailBio(); context.read<UserVM>().getAvailBio();
getCountryList(); getCountryList();
}); });
} }

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/config/dependencies.dart';
@ -8,20 +10,40 @@ import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/utils/utils.dart'; import 'package:mc_common_app/utils/utils.dart';
import 'package:mc_common_app/view_models/user_view_model.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import 'package:sizer/sizer.dart'; import 'package:sizer/sizer.dart';
import '../../theme/colors.dart'; import '../../theme/colors.dart';
class RegisterSelectionPage extends StatelessWidget { class RegisterSelectionPage extends StatefulWidget {
const RegisterSelectionPage({Key? key}) : super(key: key); const RegisterSelectionPage({Key? key}) : super(key: key);
@override
State<RegisterSelectionPage> createState() => _RegisterSelectionPageState();
}
class _RegisterSelectionPageState extends State<RegisterSelectionPage> {
AppState appState = AppState();
late UserVM userVM;
@override
void initState() {
super.initState();
appState = injector.get<AppState>();
scheduleMicrotask(() {
if (AppState().currentAppType == AppType.provider) {
context.read<UserVM>().isAlreadyUserLoggedin(context);
}
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
AppState appState = injector.get<AppState>();
return Scaffold( return Scaffold(
body: Container( body: Container(
width: double.infinity, width: double.infinity,

Loading…
Cancel
Save