Bug Fixes

aamir_dev
Faiz Hashmi 1 year ago
parent 3d9099d9e7
commit 0bbc288da9

@ -685,5 +685,7 @@
"noItemsToShow": "لا توجد عناصر لعرضها.",
"serviceItem": "عنصر الخدمة",
"createdBy": "تم الإنشاء بواسطة",
"createGroupServices": "إنشاء خدمات المجموعة"
"createGroupServices": "إنشاء خدمات المجموعة",
"logoutConfirmation": "هل أنت متأكد أنك تريد تسجيل الخروج؟",
"logoutConfirmationMessage": "سيتم تسجيل خروجك من التطبيق وسيتعين عليك إضافة اسم المستخدم وكلمة المرور مرة أخرى لتسجيل الدخول."
}

@ -683,5 +683,7 @@
"noItemsToShow": "No Items to show.",
"serviceItem": "Service Item",
"createdBy": "Created By",
"createGroupServices": "Create Group Services"
"createGroupServices": "Create Group Services",
"logoutConfirmation": "Are you sure you want want to Logout?",
"logoutConfirmationMessage": "You will be logged out of the application and you have to add your username and password again to login"
}

@ -179,6 +179,7 @@ class ApiConsts {
static String getAppInvitationLink = "${baseUrlServices}api/Common/AppInvitation_Get";
static String getContactInfo = "${baseUrlServices}api/Master/ContactInfo_Get";
static String getAppInfo = "${baseUrlServices}api/Master/AppInfo_Get";
static String getTermsAndConditions = "${baseUrlServices}api/Master/TermAndCondition_Get";
static List<String> closingUrls = ["PayFortResponse"];
}

@ -25,6 +25,7 @@ import 'package:mc_common_app/views/setting_options/setting_options_contact_us.d
import 'package:mc_common_app/views/setting_options/setting_options_faqs.dart';
import 'package:mc_common_app/views/setting_options/setting_options_invite_friends.dart';
import 'package:mc_common_app/views/setting_options/setting_options_more.dart';
import 'package:mc_common_app/views/setting_options/setting_options_terms_and_conditions.dart';
import 'package:mc_common_app/views/shipping_management/shipping_management_view.dart';
import 'package:mc_common_app/views/user/change_email_page.dart';
import 'package:mc_common_app/views/user/change_mobile_page.dart';
@ -128,7 +129,6 @@ class AppRoutes {
static const String paymentMethodsView = "/paymentMethodsView";
//Shipping
static const shippingManagementView = "/shippingManagementView";
//Customer APP: Provider & Services
@ -150,6 +150,7 @@ class AppRoutes {
static const String settingOptionsFaqs = "/settingOptionsFaqs";
static const String settingOptionsContactUs = "/settingOptionsContactUs";
static const String settingOptionsAppInfo = "/settingOptionsAppInfo";
static const String settingOptionsTermsAndConditions = "/settingOptionsTermsAndConditions";
static const String settingOptionsMore = "/settingOptionsLanguages";
static const String settingOptionsInviteFriends = "/settingOptionsInviteFriends";
static const String settingOptionsHelp = "/settingOptionsHelp";
@ -201,6 +202,7 @@ class AppRoutes {
AppRoutes.settingOptionsFaqs: (context) => const SettingOptionsFAQs(),
AppRoutes.settingOptionsContactUs: (context) => const SettingOptionsContactUs(),
AppRoutes.settingOptionsAppInfo: (context) => const SettingOptionsAppInfo(),
AppRoutes.settingOptionsTermsAndConditions: (context) => const SettingOptionsTermsAndConditions(),
AppRoutes.settingOptionsInviteFriends: (context) => const SettingOptionsInviteFriends(),
AppRoutes.paymentMethodsView: (context) => PaymentMethodsView(paymentType: ModalRoute.of(context)!.settings.arguments as PaymentTypes),
//Requests

@ -701,7 +701,9 @@ class CodegenLoader extends AssetLoader{
"noItemsToShow": "لا توجد عناصر لعرضها.",
"serviceItem": "عنصر الخدمة",
"createdBy": "تم الإنشاء بواسطة",
"createGroupServices": "إنشاء خدمات المجموعة"
"createGroupServices": "إنشاء خدمات المجموعة",
"logoutConfirmation": "هل أنت متأكد أنك تريد تسجيل الخروج؟",
"logoutConfirmationMessage": "سيتم تسجيل خروجك من التطبيق وسيتعين عليك إضافة اسم المستخدم وكلمة المرور مرة أخرى لتسجيل الدخول."
};
static const Map<String,dynamic> en_US = {
"firstTimeLogIn": "First Time Log In",
@ -1388,7 +1390,9 @@ static const Map<String,dynamic> en_US = {
"noItemsToShow": "No Items to show.",
"serviceItem": "Service Item",
"createdBy": "Created By",
"createGroupServices": "Create Group Services"
"createGroupServices": "Create Group Services",
"logoutConfirmation": "Are you sure you want want to Logout?",
"logoutConfirmationMessage": "You will be logged out of the application and you have to add your username and password again to login"
};
static const Map<String, Map<String,dynamic>> mapLocales = {"ar_SA": ar_SA, "en_US": en_US};
}

@ -665,5 +665,7 @@ abstract class LocaleKeys {
static const serviceItem = 'serviceItem';
static const createdBy = 'createdBy';
static const createGroupServices = 'createGroupServices';
static const logoutConfirmation = 'logoutConfirmation';
static const logoutConfirmationMessage = 'logoutConfirmationMessage';
}

@ -6,20 +6,24 @@ class AppInfoModel {
String? content;
bool? isActive;
int? channel;
List<ImageModel>? appInfoImages;
List<ImageModel>? images;
AppInfoModel({this.id, this.header, this.content, this.isActive, this.channel, this.appInfoImages});
AppInfoModel({this.id, this.header, this.content, this.isActive, this.channel, this.images});
AppInfoModel.fromJson(Map<String, dynamic> json) {
AppInfoModel.fromJson(Map<String, dynamic> json, {bool isForTermsAndCondition = false}) {
String imagesKey = "appInfoImages";
if (isForTermsAndCondition) {
imagesKey = "termAndConditionImages";
}
id = json['id'];
header = json['header'];
content = json['content'];
isActive = json['isActive'];
channel = json['channel'];
if (json['appInfoImages'] != null) {
appInfoImages = <ImageModel>[];
json['appInfoImages'].forEach((v) {
appInfoImages!.add(ImageModel.fromJson(v));
if (json[imagesKey] != null) {
images = <ImageModel>[];
json[imagesKey].forEach((v) {
images!.add(ImageModel.fromJson(v));
});
}
}

@ -8,6 +8,7 @@ import 'package:mc_common_app/models/general_models/generic_resp_model.dart';
import 'package:mc_common_app/models/setting_utils_models/app_info_model.dart';
import 'package:mc_common_app/models/setting_utils_models/contact_infos_model.dart';
import 'package:mc_common_app/models/setting_utils_models/faqs_model.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/utils.dart';
abstract class SettingOptionsRepo {
@ -16,6 +17,8 @@ abstract class SettingOptionsRepo {
Future<List<ContactInfoModel>> getAllContactInfos();
Future<List<AppInfoModel>> getAppInfoList();
Future<List<AppInfoModel>> getTermsAndConditions();
}
class SettingOptionsRepoImp extends SettingOptionsRepo {
@ -24,12 +27,24 @@ class SettingOptionsRepoImp extends SettingOptionsRepo {
@override
Future<List<FAQsModel>> getAllFaqs() async {
int channel = 0;
if (AppState().currentAppType == AppType.provider) {
channel = 2;
} else {
channel = 3;
}
final params = {
"Channel": channel.toString(),
};
String token = appState.getUser.data!.accessToken ?? "";
GenericRespModel genericRespModel = await injector.get<ApiClient>().getJsonForObject(
(json) => GenericRespModel.fromJson(json),
ApiConsts.getAllFAQs,
token: token,
queryParameters: params,
);
if (genericRespModel.messageStatus != 1 || genericRespModel.data == null) {
@ -66,10 +81,22 @@ class SettingOptionsRepoImp extends SettingOptionsRepo {
Future<List<AppInfoModel>> getAppInfoList() async {
String token = appState.getUser.data!.accessToken ?? "";
int channel = 0;
if (AppState().currentAppType == AppType.provider) {
channel = 2;
} else {
channel = 3;
}
final params = {
"Channel": channel.toString(),
};
GenericRespModel genericRespModel = await injector.get<ApiClient>().getJsonForObject(
(json) => GenericRespModel.fromJson(json),
ApiConsts.getAppInfo,
token: token,
queryParameters: params,
);
if (genericRespModel.messageStatus != 1 || genericRespModel.data == null) {
@ -81,4 +108,36 @@ class SettingOptionsRepoImp extends SettingOptionsRepo {
return list;
}
@override
Future<List<AppInfoModel>> getTermsAndConditions() async {
String token = appState.getUser.data!.accessToken ?? "";
int channel = 0;
if (AppState().currentAppType == AppType.provider) {
channel = 2;
} else {
channel = 3;
}
final params = {
"Channel": channel.toString(),
};
GenericRespModel genericRespModel = await injector.get<ApiClient>().getJsonForObject(
(json) => GenericRespModel.fromJson(json),
ApiConsts.getTermsAndConditions,
token: token,
queryParameters: params,
);
if (genericRespModel.messageStatus != 1 || genericRespModel.data == null) {
Utils.showToast(genericRespModel.message ?? LocaleKeys.somethingWrong.tr());
return [];
}
List<AppInfoModel> list = List.generate(genericRespModel.data.length, (index) => AppInfoModel.fromJson(genericRespModel.data[index], isForTermsAndCondition: true));
return list;
}
}

@ -56,4 +56,19 @@ class SettingOptionsVM extends BaseVM {
setState(ViewState.idle);
}
}
List<AppInfoModel> termsAndConditionsList = [];
Future<void> getTermsAndConditions() async {
setState(ViewState.busy);
try {
termsAndConditionsList = await settingOptionsRepo.getTermsAndConditions();
setState(ViewState.idle);
notifyListeners();
} catch (e) {
logger.i(e.toString());
Utils.showToast(e.toString());
setState(ViewState.idle);
}
}
}

@ -57,7 +57,7 @@ class SettingOptionsHelp extends StatelessWidget {
),
titleText: LocaleKeys.termPrivacy.tr(),
needBorderBelow: true,
onTap: () {},
onTap: () => navigateWithName(context, AppRoutes.settingOptionsTermsAndConditions),
),
CustomSettingOptionsTile(
leadingWidget: const Icon(

@ -2,15 +2,15 @@ import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.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/models/chat_models/chat_message_model.dart';
import 'package:mc_common_app/models/setting_utils_models/app_info_model.dart';
import 'package:mc_common_app/models/setting_utils_models/contact_infos_model.dart';
import 'package:mc_common_app/models/setting_utils_models/faqs_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/setting_options_view_model.dart';
import 'package:mc_common_app/views/advertisement/components/picked_images_container_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
@ -76,7 +76,7 @@ class _SettingOptionsAppInfoState extends State<SettingOptionsAppInfo> {
16.height,
Expanded(
child: RefreshIndicator(
onRefresh: () async => await settingsOptionsVM.getAllFaqs(),
onRefresh: () async => await settingsOptionsVM.getAppInfoList(),
child: (settingsOptionsVM.state == ViewState.busy)
? const Center(child: CircularProgressIndicator())
: settingsOptionsVM.appInfoList.isEmpty
@ -95,12 +95,22 @@ class _SettingOptionsAppInfoState extends State<SettingOptionsAppInfo> {
(appInfoModel.header ?? "").toString().toText(fontSize: 16),
5.height,
(appInfoModel.content ?? "").toString().toText(fontSize: 14, color: MyColors.lightTextColor),
if (appInfoModel.appInfoImages != null && appInfoModel.appInfoImages!.isNotEmpty) ...[
if (appInfoModel.images != null && appInfoModel.images!.isNotEmpty) ...[
PickedFilesContainer(
pickedFiles: appInfoModel.appInfoImages ?? [],
pickedFiles: appInfoModel.images ?? [],
isReview: true,
onAddFilePressed: () {},
),
).onPress(() {
List<MessageImageModel> images = [];
for (var image in appInfoModel.images!) {
images.add(MessageImageModel(
id: image.id,
isFromNetwork: true,
imageUrl: image.filePath,
));
}
navigateWithName(context, AppRoutes.mediaViewerScreen, arguments: images);
}),
]
],
).toContainer(isShadowEnabled: true);

@ -2,12 +2,16 @@ import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.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/models/chat_models/chat_message_model.dart';
import 'package:mc_common_app/models/setting_utils_models/contact_infos_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/utils/utils.dart';
import 'package:mc_common_app/view_models/setting_options_view_model.dart';
import 'package:mc_common_app/views/advertisement/components/picked_images_container_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
@ -92,7 +96,14 @@ class _SettingOptionsContactUsState extends State<SettingOptionsContactUs> {
children: [
contactInfoModel.companyName.toString().toText(fontSize: 16),
5.height,
LocaleKeys.openMapLocation.tr().toText(isUnderLine: true, color: MyColors.darkPrimaryColor, fontSize: 10).onPress(() {}),
if (contactInfoModel.latitude != null && contactInfoModel.latitude!.isNotEmpty && contactInfoModel.longitude != null && contactInfoModel.longitude!.isNotEmpty) ...[
LocaleKeys.openMapLocation.tr().toText(isUnderLine: true, color: MyColors.darkPrimaryColor, fontSize: 10).onPress(() async {
double latitude, longitude = 0.0;
latitude = double.parse(contactInfoModel.latitude!);
longitude = double.parse(contactInfoModel.longitude!);
await Utils.openLocationInMaps(latitude: latitude, longitude: longitude);
}),
],
showData("${LocaleKeys.phoneNumber.tr()}:", "${contactInfoModel.phoneNo}"),
showData("${LocaleKeys.email.tr()}:", "${contactInfoModel.email}"),
if (contactInfoModel.address != null && contactInfoModel.address!.isNotEmpty) ...[
@ -104,7 +115,17 @@ class _SettingOptionsContactUsState extends State<SettingOptionsContactUs> {
pickedFiles: contactInfoModel.contactInfoImages ?? [],
isReview: true,
onAddFilePressed: () {},
),
).onPress(() {
List<MessageImageModel> images = [];
for (var image in contactInfoModel.contactInfoImages!) {
images.add(MessageImageModel(
id: image.id,
isFromNetwork: true,
imageUrl: image.filePath,
));
}
navigateWithName(context, AppRoutes.mediaViewerScreen, arguments: images);
}),
]
],
).toContainer(isShadowEnabled: true);

@ -5,9 +5,11 @@ import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.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/main.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/dialogs_and_bottomsheets.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/user_view_model.dart';
@ -25,6 +27,38 @@ class SettingOptionsMore extends StatefulWidget {
}
class _SettingOptionsMoreState extends State<SettingOptionsMore> {
void logoutConfirmationSheet(BuildContext context) {
return actionConfirmationBottomSheet(
context: context,
title: LocaleKeys.logoutConfirmation.tr().toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
subtitle: LocaleKeys.logoutConfirmationMessage.tr(),
actionButtonYes: Expanded(
child: ShowFillButton(
maxHeight: 55,
title: LocaleKeys.yes.tr(),
fontSize: 15,
onPressed: () {
Navigator.pop(context);
context.read<UserVM>().logout(context);
},
),
),
actionButtonNo: Expanded(
child: ShowFillButton(
maxHeight: 55,
isFilled: false,
borderColor: MyColors.darkPrimaryColor,
title: LocaleKeys.no.tr(),
txtColor: MyColors.darkPrimaryColor,
fontSize: 15,
onPressed: () {
Navigator.pop(context);
},
),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
@ -196,7 +230,7 @@ class _SettingOptionsMoreState extends State<SettingOptionsMore> {
maxHeight: 55,
title: LocaleKeys.logOut.tr(),
onPressed: () {
context.read<UserVM>().logout(context);
logoutConfirmationSheet(context);
},
),
),
@ -207,5 +241,3 @@ class _SettingOptionsMoreState extends State<SettingOptionsMore> {
);
}
}

@ -0,0 +1,127 @@
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.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/models/chat_models/chat_message_model.dart';
import 'package:mc_common_app/models/setting_utils_models/app_info_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/setting_options_view_model.dart';
import 'package:mc_common_app/views/advertisement/components/picked_images_container_widget.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:provider/provider.dart';
class SettingOptionsTermsAndConditions extends StatefulWidget {
const SettingOptionsTermsAndConditions({super.key});
@override
State<SettingOptionsTermsAndConditions> createState() => _SettingOptionsTermsAndConditionsState();
}
class _SettingOptionsTermsAndConditionsState extends State<SettingOptionsTermsAndConditions> {
late SettingOptionsVM settingsOptionsVM;
@override
void initState() {
settingsOptionsVM = context.read<SettingOptionsVM>();
scheduleMicrotask(() async {
await settingsOptionsVM.getTermsAndConditions();
});
super.initState();
}
Widget showData(String title, String value) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
title.toText(
fontSize: 13,
color: MyColors.darkTextColor,
),
if (title.isNotEmpty) 5.width,
Flexible(
child: value.toText(
fontSize: 13,
color: MyColors.lightTextColor,
),
)
],
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: CustomAppBar(
title: LocaleKeys.termPrivacy.tr(),
isRemoveBackButton: false,
isDrawerEnabled: false,
onBackButtonTapped: () => Navigator.pop(context),
),
body: Consumer(
builder: (BuildContext context, SettingOptionsVM settingsOptionsVM, Widget? child) {
return Container(
color: MyColors.backgroundColor,
width: double.infinity,
height: double.infinity,
child: Column(
children: [
16.height,
Expanded(
child: RefreshIndicator(
onRefresh: () async => await settingsOptionsVM.getTermsAndConditions(),
child: (settingsOptionsVM.state == ViewState.busy)
? const Center(child: CircularProgressIndicator())
: settingsOptionsVM.termsAndConditionsList.isEmpty
? Padding(
padding: const EdgeInsets.all(21),
child: Center(child: LocaleKeys.somethingWrong.tr().toText(textAlign: TextAlign.center, fontSize: 16, color: MyColors.lightTextColor)),
)
: ListView.separated(
itemCount: settingsOptionsVM.termsAndConditionsList.length,
padding: const EdgeInsets.all(16),
itemBuilder: (context, index) {
AppInfoModel appInfoModel = settingsOptionsVM.termsAndConditionsList[index];
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
(appInfoModel.header ?? "").toString().toText(fontSize: 16),
5.height,
(appInfoModel.content ?? "").toString().toText(fontSize: 14, color: MyColors.lightTextColor),
if (appInfoModel.images != null && appInfoModel.images!.isNotEmpty) ...[
PickedFilesContainer(
pickedFiles: appInfoModel.images ?? [],
isReview: true,
onAddFilePressed: () {},
).onPress(() {
List<MessageImageModel> images = [];
for (var image in appInfoModel.images!) {
images.add(MessageImageModel(
id: image.id,
isFromNetwork: true,
imageUrl: image.filePath,
));
}
navigateWithName(context, AppRoutes.mediaViewerScreen, arguments: images);
}),
]
],
).toContainer(isShadowEnabled: true);
},
separatorBuilder: (context, index) => 16.height,
),
)),
],
),
);
},
));
}
}

@ -1,12 +1,15 @@
import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/extensions/int_extensions.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/models/user_models/register_user.dart';
import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/user_view_model.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
@ -119,13 +122,12 @@ class _CompleteProfilePageState extends State<CompleteProfilePage> {
Consumer(builder: (BuildContext context, UserVM userVM, Widget? child) {
return Checkbox(
value: userVM.completeProfilePageCheckbox,
activeColor: Colors.blue,
activeColor: MyColors.darkPrimaryColor,
onChanged: (value) {
userVM.updateCompleteProfilePageCheckbox(value!);
},
);
}),
Expanded(
child: Text.rich(
TextSpan(
@ -144,7 +146,9 @@ class _CompleteProfilePageState extends State<CompleteProfilePage> {
))
],
),
),
).onPress(() {
navigateWithName(context, AppRoutes.settingOptionsTermsAndConditions);
}),
)
// Column(
// children: [
@ -162,29 +166,35 @@ class _CompleteProfilePageState extends State<CompleteProfilePage> {
],
),
16.height,
ShowFillButton(
title: LocaleKeys.save.tr(),
maxWidth: double.infinity,
onPressed: () {
bool validateStatus = userVM.dataValidation(
password: password,
firstName: firstName,
lastName: lastName,
email: email,
);
if (validateStatus) {
userVM.performCompleteProfile(
context,
Consumer(builder: (BuildContext context, UserVM userVM, Widget? child) {
return ShowFillButton(
title: LocaleKeys.save.tr(),
maxWidth: double.infinity,
isDisabled: !userVM.completeProfilePageCheckbox,
onPressed: () {
if (!userVM.completeProfilePageCheckbox) {
return;
}
bool validateStatus = userVM.dataValidation(
password: password,
confirmPassword: confirmPassword!,
firstName: firstName!,
lastName: lastName!,
email: email!,
userId: widget.user.data!.userId ?? "",
isNeedToPassToken: widget.user.data!.isNeedToPassToken,
firstName: firstName,
lastName: lastName,
email: email,
);
}
}),
if (validateStatus) {
userVM.performCompleteProfile(
context,
password: password,
confirmPassword: confirmPassword!,
firstName: firstName!,
lastName: lastName!,
email: email!,
userId: widget.user.data!.userId ?? "",
isNeedToPassToken: widget.user.data!.isNeedToPassToken,
);
}
});
}),
16.height,
],
),

Loading…
Cancel
Save