Compare commits

..

No commits in common. 'afae41c410e1a0981d341e700debd954a310080b' and 'b44ae1e8387412ead9c39c7fda9d9805fbd9e9ec' have entirely different histories.

@ -76,6 +76,7 @@ class AuthenticationViewModel extends ChangeNotifier {
nameController = TextEditingController(), nameController = TextEditingController(),
emailController = TextEditingController(); emailController = TextEditingController();
CountryEnum selectedCountrySignup = CountryEnum.saudiArabia; CountryEnum selectedCountrySignup = CountryEnum.saudiArabia;
MaritalStatusTypeEnum? maritalStatus; MaritalStatusTypeEnum? maritalStatus;
GenderTypeEnum? genderType; GenderTypeEnum? genderType;
@ -582,13 +583,8 @@ class AuthenticationViewModel extends ChangeNotifier {
MedicalFileViewModel medicalVm = getIt<MedicalFileViewModel>(); MedicalFileViewModel medicalVm = getIt<MedicalFileViewModel>();
if (!_appState.getIsChildLoggedIn) { if (!_appState.getIsChildLoggedIn) {
await medicalVm.getFamilyFiles(status: 0); await medicalVm.getFamilyFiles(status: 0);
if (isFormFamilyFile) {
await medicalVm.getAllPendingRecordsByResponseId();
_navigationService.pushAndReplace(AppRoutes.medicalFilePage);
} else {
_navigationService.replaceAllRoutesAndNavigateToLanding();
}
// await medicalVm.getAllPendingRecordsByResponseId(); // await medicalVm.getAllPendingRecordsByResponseId();
_navigationService.replaceAllRoutesAndNavigateToLanding();
} }
} else { } else {
if (activation.list != null && activation.list!.isNotEmpty) { if (activation.list != null && activation.list!.isNotEmpty) {
@ -748,12 +744,10 @@ class AuthenticationViewModel extends ChangeNotifier {
Future<void> onWrongActivationCode({String? message}) async { Future<void> onWrongActivationCode({String? message}) async {
otpScreenNotifier.value = true; otpScreenNotifier.value = true;
await _dialogService.showErrorBottomSheet( await _dialogService.showErrorBottomSheet(message: message ?? "Something went wrong. ", onOkPressed: () {
message: message ?? "Something went wrong. ", LoaderBottomSheet.hideLoader();
onOkPressed: () { _navigationService.pushAndReplace(AppRoutes.loginScreen);
LoaderBottomSheet.hideLoader(); });
_navigationService.pushAndReplace(AppRoutes.loginScreen);
});
} }
loginWithFingerPrintFace(Function success) async { loginWithFingerPrintFace(Function success) async {

@ -439,10 +439,11 @@ class MedicalFileViewModel extends ChangeNotifier {
); );
// Clear and start fresh with current user // Clear and start fresh with current user
final List<FamilyFileResponseModelLists> newPatientFamilyFiles = [currentUserFamilyFile]; patientFamilyFiles.clear();
patientFamilyFiles.add(currentUserFamilyFile);
final List<FamilyFileResponseModelLists> activeFamilyFiles = []; final List<FamilyFileResponseModelLists> activeFamilyFiles = [];
final List<FamilyFileResponseModelLists> newPendingFamilyFiles = []; final List<FamilyFileResponseModelLists> pendingFamilyFiles = [];
for (var element in apiResponse.data!) { for (var element in apiResponse.data!) {
if (element.status == null) { if (element.status == null) {
@ -483,7 +484,7 @@ class MedicalFileViewModel extends ChangeNotifier {
if (isPending) { if (isPending) {
familyFile.isRequestFromMySide = true; familyFile.isRequestFromMySide = true;
newPendingFamilyFiles.add(familyFile); pendingFamilyFiles.add(familyFile);
} }
if (isActive) { if (isActive) {
activeFamilyFiles.add(familyFile); activeFamilyFiles.add(familyFile);
@ -491,14 +492,13 @@ class MedicalFileViewModel extends ChangeNotifier {
} }
for (var activeFile in activeFamilyFiles) { for (var activeFile in activeFamilyFiles) {
if (!newPatientFamilyFiles.any((e) => e.responseId == activeFile.responseId)) { if (!patientFamilyFiles.any((e) => e.responseId == activeFile.responseId)) {
newPatientFamilyFiles.add(activeFile); patientFamilyFiles.add(activeFile);
} }
} }
// Assign new list instances this.pendingFamilyFiles.clear();
patientFamilyFiles = newPatientFamilyFiles; this.pendingFamilyFiles.addAll(pendingFamilyFiles);
pendingFamilyFiles = newPendingFamilyFiles;
} }
notifyListeners(); notifyListeners();
@ -553,9 +553,7 @@ class MedicalFileViewModel extends ChangeNotifier {
} }
} }
// pendingFamilyFiles.addAll(tempPendingFamilyFiles.where((element) => !pendingFamilyFiles.any((e) => e.responseId == element.responseId))); // pendingFamilyFiles.addAll(tempPendingFamilyFiles.where((element) => !pendingFamilyFiles.any((e) => e.responseId == element.responseId)));
final existingIds = pendingFamilyFiles.map((e) => e.patientId).toSet(); pendingFamilyFiles.addAll(tempPendingFamilyFiles.where((element) => !pendingFamilyFiles.any((e) => e.patientId == element.patientId)));
final newItems = tempPendingFamilyFiles.where((element) => !existingIds.contains(element.patientId)).toList();
pendingFamilyFiles = [...pendingFamilyFiles, ...newItems];
} }
notifyListeners(); notifyListeners();
} }
@ -591,7 +589,7 @@ class MedicalFileViewModel extends ChangeNotifier {
onUnHandledFailure: (failure) { onUnHandledFailure: (failure) {
LoaderBottomSheet.hideLoader(); LoaderBottomSheet.hideLoader();
_dialogService.showErrorBottomSheet( _dialogService.showErrorBottomSheet(
message: failure.message, message: failure.message!,
onOkPressed: () { onOkPressed: () {
navigationService.pop(); navigationService.pop();
}); });
@ -665,7 +663,7 @@ class MedicalFileViewModel extends ChangeNotifier {
navigationService.pop(); navigationService.pop();
}); });
} else if (apiResponse.messageStatus == 1) { } else if (apiResponse.messageStatus == 1) {
patientFamilyFiles = patientFamilyFiles.where((element) => element.id != id).toList(); patientFamilyFiles.removeWhere((element) => element.id == id);
getFamilyFiles(); getFamilyFiles();
getAllPendingRecordsByResponseId(); getAllPendingRecordsByResponseId();
LoaderBottomSheet.hideLoader(); LoaderBottomSheet.hideLoader();
@ -743,12 +741,11 @@ class MedicalFileViewModel extends ChangeNotifier {
// moveProfile.status = 3; // moveProfile.status = 3;
// moveProfile.statusDescription = "Approved"; // moveProfile.statusDescription = "Approved";
// patientFamilyFiles.add(moveProfile); // patientFamilyFiles.add(moveProfile);
pendingFamilyFiles = pendingFamilyFiles.where((element) => element.id != id).toList(); pendingFamilyFiles.removeWhere((element) => element.id == id);
//TODO: Call Api Here To Load Family Members //TODO: Call Api Here To Load Family Members
getFamilyFiles(status: 0); getFamilyFiles(status: 0);
getAllPendingRecordsByResponseId(); getAllPendingRecordsByResponseId();
LoaderBottomSheet.hideLoader(); LoaderBottomSheet.hideLoader();
notifyListeners();
// onFamilyFileTabChange(0); // onFamilyFileTabChange(0);
} }
}, },

@ -1,3 +1,4 @@
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:hmg_patient_app_new/core/app_assets.dart'; import 'package:hmg_patient_app_new/core/app_assets.dart';
@ -19,7 +20,14 @@ import 'package:hmg_patient_app_new/widgets/custom_tab_bar.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class FamilyMedicalScreen extends StatefulWidget { class FamilyMedicalScreen extends StatefulWidget {
const FamilyMedicalScreen({super.key}); final List<FamilyFileResponseModelLists> profiles;
final Function(FamilyFileResponseModelLists) onSelect;
const FamilyMedicalScreen({
super.key,
required this.profiles,
required this.onSelect,
});
@override @override
State<FamilyMedicalScreen> createState() => _FamilyMedicalScreenState(); State<FamilyMedicalScreen> createState() => _FamilyMedicalScreenState();
@ -35,6 +43,7 @@ class _FamilyMedicalScreenState extends State<FamilyMedicalScreen> {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
medicalVM?.onFamilyFileTabChange(0); medicalVM?.onFamilyFileTabChange(0);
medicalVM?.getAllPendingRecordsByResponseId(); medicalVM?.getAllPendingRecordsByResponseId();
}); });
} }
@ -46,28 +55,27 @@ class _FamilyMedicalScreenState extends State<FamilyMedicalScreen> {
title: LocaleKeys.familyTitle.tr(context: context), title: LocaleKeys.familyTitle.tr(context: context),
bottomChild: appState.getAuthenticatedUser()!.isParentUser! bottomChild: appState.getAuthenticatedUser()!.isParentUser!
? Container( ? Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor, color: AppColors.whiteColor,
customBorder: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)), customBorder: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
), ),
padding: EdgeInsets.symmetric(vertical: 10.h, horizontal: 20.h), padding: EdgeInsets.symmetric(vertical: 10.h, horizontal: 20.h),
child: CustomButton( child: CustomButton(
text: LocaleKeys.addANewFamilyMember.tr(context: context), text: LocaleKeys.addANewFamilyMember.tr(context: context),
onPressed: () { onPressed: () {
DialogService dialogService = getIt.get<DialogService>(); DialogService dialogService = getIt.get<DialogService>();
medicalVM!.clearAuthValues(); medicalVM!.clearAuthValues();
dialogService.showAddFamilyFileSheet( dialogService.showAddFamilyFileSheet(
label: LocaleKeys.addFamilyMember.tr(context: context), label: LocaleKeys.addFamilyMember.tr(context: context),
message: LocaleKeys.pleaseFillBelowFieldToAddNewFamilyMember.tr(context: context), message: LocaleKeys.pleaseFillBelowFieldToAddNewFamilyMember.tr(context: context),
onVerificationPress: () { onVerificationPress: () {
medicalVM!.addFamilyFile(otpTypeEnum: OTPTypeEnum.sms); medicalVM!.addFamilyFile(otpTypeEnum: OTPTypeEnum.sms);
}); });
}, },
icon: AppAssets.add_icon, icon: AppAssets.add_icon,
fontSize: 16.f, fontSize: 16.f,
borderRadius: 12.r, borderRadius: 12.r,
fontWeight: FontWeight.w500)) fontWeight: FontWeight.w500)).paddingOnly(bottom: 20.h)
.paddingOnly(bottom: 20.h)
: SizedBox(), : SizedBox(),
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -88,28 +96,18 @@ class _FamilyMedicalScreenState extends State<FamilyMedicalScreen> {
), ),
), ),
appState.isChildLoggedIn ? SizedBox() : SizedBox(height: 25.h), appState.isChildLoggedIn ? SizedBox() : SizedBox(height: 25.h),
Selector<MedicalFileViewModel, ({int selectedIndex, List<FamilyFileResponseModelLists> patientFiles, List<FamilyFileResponseModelLists> pendingFiles})>( Selector<MedicalFileViewModel, int>(selector: (_, model) => model.getSelectedFamilyFileTabIndex, builder: (context, selectedIndex, child) => getFamilyTabs(index: selectedIndex)),
selector: (_, model) => (selectedIndex: model.getSelectedFamilyFileTabIndex, patientFiles: model.patientFamilyFiles, pendingFiles: model.pendingFamilyFiles),
shouldRebuild: (previous, next) {
return previous.selectedIndex != next.selectedIndex || previous.patientFiles.length != next.patientFiles.length || previous.pendingFiles.length != next.pendingFiles.length;
},
builder: (context, data, child) => getFamilyTabs(index: data.selectedIndex, patientFiles: data.patientFiles, pendingFiles: data.pendingFiles),
),
SizedBox(height: 20.h), SizedBox(height: 20.h),
], ],
).paddingSymmetrical(20, 0), ).paddingSymmetrical(20, 0),
); );
} }
Widget getFamilyTabs({ Widget getFamilyTabs({required int index}) {
required int index,
required List<FamilyFileResponseModelLists> patientFiles,
required List<FamilyFileResponseModelLists> pendingFiles,
}) {
switch (index) { switch (index) {
case 0: case 0:
return FamilyCards( return FamilyCards(
profiles: patientFiles, profiles: medicalVM!.patientFamilyFiles,
onSelect: (FamilyFileResponseModelLists profile) { onSelect: (FamilyFileResponseModelLists profile) {
medicalVM!.switchFamilyFiles(responseID: profile.responseId, patientID: profile.patientId, phoneNumber: profile.mobileNumber); medicalVM!.switchFamilyFiles(responseID: profile.responseId, patientID: profile.patientId, phoneNumber: profile.mobileNumber);
}, },
@ -122,7 +120,7 @@ class _FamilyMedicalScreenState extends State<FamilyMedicalScreen> {
); );
case 1: case 1:
return FamilyCards( return FamilyCards(
profiles: pendingFiles, profiles: medicalVM!.pendingFamilyFiles,
isRequestDesign: medicalVM!.getSelectedFamilyFileTabIndex == 1, isRequestDesign: medicalVM!.getSelectedFamilyFileTabIndex == 1,
onSelect: (FamilyFileResponseModelLists profile) { onSelect: (FamilyFileResponseModelLists profile) {
medicalVM!.acceptRejectFileFromFamilyMembers(id: profile.id, status: 3); medicalVM!.acceptRejectFileFromFamilyMembers(id: profile.id, status: 3);

@ -308,7 +308,6 @@ class _FamilyCardsState extends State<FamilyCards> {
alignment: WrapAlignment.start, alignment: WrapAlignment.start,
children: [ children: [
(profile.patientName ?? "").toText14(isBold: false, isCenter: true, maxlines: 1, weight: FontWeight.w600), (profile.patientName ?? "").toText14(isBold: false, isCenter: true, maxlines: 1, weight: FontWeight.w600),
SizedBox(width: 2.w,),
(getStatusTextByRequest( (getStatusTextByRequest(
FamilyFileEnum.values.firstWhere((e) => e.toInt == profile.status), profile.isRequestFromMySide ?? false)) FamilyFileEnum.values.firstWhere((e) => e.toInt == profile.status), profile.isRequestFromMySide ?? false))
.toText14( .toText14(

@ -101,18 +101,14 @@ class DialogServiceImp implements DialogService {
shape: const RoundedRectangleBorder( shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(top: Radius.circular(16)), borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
), ),
builder: (_) => StatefulBuilder( builder: (_) => ExceptionBottomSheet(
builder: (BuildContext context, StateSetter setState) { message: message,
return ExceptionBottomSheet( showCancel: onCancelPressed != null ? true : false,
message: message, onOkPressed: onOkPressed,
showCancel: onCancelPressed != null ? true : false, onCancelPressed: () {
onOkPressed: onOkPressed, if (onCancelPressed != null) {
onCancelPressed: () { Navigator.of(context).pop();
if (onCancelPressed != null) { }
Navigator.of(context).pop();
}
},
);
}, },
), ),
); );
@ -185,8 +181,12 @@ class DialogServiceImp implements DialogService {
textColor: AppColors.primaryRedBorderColor, textColor: AppColors.primaryRedBorderColor,
height: 48.h, height: 48.h,
onPressed: () { onPressed: () {
navigationService.pop(); navigationService.pushPage(
navigationService.pushPage(page: FamilyMedicalScreen()); page: FamilyMedicalScreen(
profiles: profiles,
onSelect: (FamilyFileResponseModelLists p1) {},
),
);
}) })
], ],
), ),

@ -10,7 +10,7 @@ import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/theme/colors.dart'; import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart'; import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
class ExceptionBottomSheet extends StatefulWidget { class ExceptionBottomSheet extends StatelessWidget {
final String? title; final String? title;
final String message; final String message;
final bool showOKButton; final bool showOKButton;
@ -28,11 +28,6 @@ class ExceptionBottomSheet extends StatefulWidget {
this.onCancelPressed, this.onCancelPressed,
}); });
@override
State<ExceptionBottomSheet> createState() => _ExceptionBottomSheetState();
}
class _ExceptionBottomSheetState extends State<ExceptionBottomSheet> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SafeArea( return SafeArea(
@ -58,7 +53,7 @@ class _ExceptionBottomSheetState extends State<ExceptionBottomSheet> {
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
(widget.title ?? LocaleKeys.notice.tr()).toText28(), (title ?? LocaleKeys.notice.tr()).toText28(),
InkWell( InkWell(
onTap: () { onTap: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
@ -71,18 +66,18 @@ class _ExceptionBottomSheetState extends State<ExceptionBottomSheet> {
], ],
), ),
SizedBox(height: 10.h), SizedBox(height: 10.h),
(widget.message).toText16(isBold: false, color: AppColors.textColor), (message).toText16(isBold: false, color: AppColors.textColor),
SizedBox(height: 10.h), SizedBox(height: 10.h),
SizedBox(height: 24.h), SizedBox(height: 24.h),
if (widget.showOKButton && widget.showCancel) if (showOKButton && showCancel)
Row( Row(
children: [ children: [
Expanded( Expanded(
child: CustomButton( child: CustomButton(
height: 56.h, height: 56.h,
text: LocaleKeys.cancel.tr(), text: LocaleKeys.cancel.tr(),
onPressed: widget.onCancelPressed != null onPressed: onCancelPressed != null
? widget.onCancelPressed! ? onCancelPressed!
: () { : () {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
@ -97,8 +92,8 @@ class _ExceptionBottomSheetState extends State<ExceptionBottomSheet> {
Expanded( Expanded(
child: CustomButton( child: CustomButton(
height: 56.h, height: 56.h,
text: widget.showCancel ? LocaleKeys.confirm.tr() : LocaleKeys.ok.tr(), text: showCancel ? LocaleKeys.confirm.tr() : LocaleKeys.ok.tr(),
onPressed: widget.onOkPressed, onPressed: onOkPressed,
backgroundColor: AppColors.bgGreenColor, backgroundColor: AppColors.bgGreenColor,
borderColor: AppColors.bgGreenColor, borderColor: AppColors.bgGreenColor,
textColor: Colors.white, textColor: Colors.white,
@ -107,13 +102,13 @@ class _ExceptionBottomSheetState extends State<ExceptionBottomSheet> {
), ),
], ],
), ),
if (widget.showOKButton && !widget.showCancel) if (showOKButton && !showCancel)
Padding( Padding(
padding: EdgeInsets.only(bottom: 10.h), padding: EdgeInsets.only(bottom: 10.h),
child: CustomButton( child: CustomButton(
height: 56.h, height: 56.h,
text: LocaleKeys.ok.tr(), text: LocaleKeys.ok.tr(),
onPressed: widget.onOkPressed, onPressed: onOkPressed,
backgroundColor: AppColors.primaryRedColor, backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.primaryRedBorderColor, borderColor: AppColors.primaryRedBorderColor,
textColor: Colors.white, textColor: Colors.white,

@ -14,29 +14,24 @@ import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart'; import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
import 'package:hmg_patient_app_new/widgets/dropdown/country_dropdown_widget.dart'; import 'package:hmg_patient_app_new/widgets/dropdown/country_dropdown_widget.dart';
import 'package:hmg_patient_app_new/widgets/input_widget.dart'; import 'package:hmg_patient_app_new/widgets/input_widget.dart';
import 'package:provider/provider.dart';
class FamilyFileAddWidget extends StatefulWidget { class FamilyFileAddWidget extends StatelessWidget {
final Function()? onVerificationPress; final Function()? onVerificationPress;
final String message; final String message;
const FamilyFileAddWidget(this.onVerificationPress, this.message, {super.key}); const FamilyFileAddWidget(this.onVerificationPress, this.message, {super.key});
@override
State<FamilyFileAddWidget> createState() => _FamilyFileAddWidgetState();
}
class _FamilyFileAddWidgetState extends State<FamilyFileAddWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
AuthenticationViewModel authVm = getIt.get<AuthenticationViewModel>(); AuthenticationViewModel authVm = getIt.get<AuthenticationViewModel>();
MedicalFileViewModel? medicalVM = getIt.get<MedicalFileViewModel>();
// TODO: implement build // TODO: implement build
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
widget.message.toText16(color: AppColors.textColor, weight: FontWeight.w500), message.toText16(color: AppColors.textColor, weight: FontWeight.w500),
SizedBox(height: 20.h), SizedBox(height: 20.h),
Container( Container(
decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(24)), decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(24)),
@ -64,26 +59,21 @@ class _FamilyFileAddWidgetState extends State<FamilyFileAddWidget> {
leadingIcon: AppAssets.student_card, leadingIcon: AppAssets.student_card,
).paddingOnly(top: 8.h, bottom: 8.h), ).paddingOnly(top: 8.h, bottom: 8.h),
Divider(height: 1.h, color: AppColors.spacerLineColor), Divider(height: 1.h, color: AppColors.spacerLineColor),
Selector<AuthenticationViewModel, String>( TextInputWidget(
selector: (_, model) => model.selectedCountrySignup.countryCode, labelText: LocaleKeys.phoneNumber.tr(),
builder: (context, countryCode, child) { hintText: "",
return TextInputWidget( controller: authVm.phoneNumberController,
labelText: LocaleKeys.phoneNumber.tr(), isEnable: true,
hintText: "", prefix: authVm.selectedCountrySignup.countryCode,
controller: authVm.phoneNumberController, isAllowRadius: true,
isEnable: true, isBorderAllowed: false,
prefix: countryCode, isAllowLeadingIcon: true,
isAllowRadius: true, autoFocus: true,
isBorderAllowed: false, keyboardType: TextInputType.number,
isAllowLeadingIcon: true, fontFamily: "Poppins",
autoFocus: true, padding: EdgeInsets.symmetric(vertical: 8.h),
keyboardType: TextInputType.number, leadingIcon: AppAssets.smart_phone,
fontFamily: "Poppins", ).paddingOnly(top: 8.h, bottom: 4.h),
padding: EdgeInsets.symmetric(vertical: 8.h),
leadingIcon: AppAssets.smart_phone,
).paddingOnly(top: 8.h, bottom: 4.h);
},
),
], ],
), ),
), ),
@ -101,8 +91,8 @@ class _FamilyFileAddWidgetState extends State<FamilyFileAddWidget> {
}, },
)) { )) {
// authVm.addFamilyMember(otpTypeEnum: OTPTypeEnum.sms, isExcludedUser: true); // authVm.addFamilyMember(otpTypeEnum: OTPTypeEnum.sms, isExcludedUser: true);
if (widget.onVerificationPress != null) { if (onVerificationPress != null) {
widget.onVerificationPress!(); onVerificationPress!();
} }
} }
}, },

Loading…
Cancel
Save