|
|
|
@ -6,6 +6,7 @@ import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/app_assets.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/app_assets.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/app_export.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/app_export.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/app_state.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/app_state.dart';
|
|
|
|
|
|
|
|
import 'package:hmg_patient_app_new/core/cache_consts.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/dependencies.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/dependencies.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/location_util.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/location_util.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/utils/utils.dart';
|
|
|
|
import 'package:hmg_patient_app_new/core/utils/utils.dart';
|
|
|
|
@ -358,11 +359,14 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
Utils.buildSvgWithAssets(icon: AppAssets.add_new_family_icon, height: 64.h, width: 64.h, applyThemeColor: false),
|
|
|
|
Utils.buildSvgWithAssets(icon: AppAssets.add_new_family_icon, height: 64.h, width: 64.h, applyThemeColor: false),
|
|
|
|
SizedBox(
|
|
|
|
SizedBox(
|
|
|
|
width: 80.w,
|
|
|
|
width: 80.w,
|
|
|
|
child: LocaleKeys.add.tr(context: context).toText12(
|
|
|
|
child: LocaleKeys.add
|
|
|
|
|
|
|
|
.tr(context: context)
|
|
|
|
|
|
|
|
.toText12(
|
|
|
|
color: AppColors.textColor,
|
|
|
|
color: AppColors.textColor,
|
|
|
|
isBold: true,
|
|
|
|
isBold: true,
|
|
|
|
isCenter: true,
|
|
|
|
isCenter: true,
|
|
|
|
).paddingOnly(top: 4.h),
|
|
|
|
)
|
|
|
|
|
|
|
|
.paddingOnly(top: 4.h),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
).onPress(() {
|
|
|
|
).onPress(() {
|
|
|
|
@ -583,7 +587,8 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Transform.flip(flipX: appState.isArabic(), child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon, iconColor: AppColors.textColor, width: 40.h, height: 40.h)),
|
|
|
|
Transform.flip(
|
|
|
|
|
|
|
|
flipX: appState.isArabic(), child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon, iconColor: AppColors.textColor, width: 40.h, height: 40.h)),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
).onPress(() async {
|
|
|
|
).onPress(() async {
|
|
|
|
//TODO Implement API to check for existing LiveCare Requests
|
|
|
|
//TODO Implement API to check for existing LiveCare Requests
|
|
|
|
@ -625,7 +630,8 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Transform.flip(flipX: appState.isArabic(), child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon, iconColor: AppColors.textColor, width: 40.h, height: 40.h)),
|
|
|
|
Transform.flip(
|
|
|
|
|
|
|
|
flipX: appState.isArabic(), child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon, iconColor: AppColors.textColor, width: 40.h, height: 40.h)),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
).onPress(() {
|
|
|
|
).onPress(() {
|
|
|
|
bookAppointmentsViewModel.setIsClinicsListLoading(true);
|
|
|
|
bookAppointmentsViewModel.setIsClinicsListLoading(true);
|
|
|
|
@ -687,13 +693,10 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
regionalViewModel.flush();
|
|
|
|
regionalViewModel.flush();
|
|
|
|
regionalViewModel.setBottomSheetType(type);
|
|
|
|
regionalViewModel.setBottomSheetType(type);
|
|
|
|
// AppointmentViaRegionViewmodel? viewmodel = null;
|
|
|
|
// AppointmentViaRegionViewmodel? viewmodel = null;
|
|
|
|
showCommonBottomSheetWithoutHeight(context, title: "",
|
|
|
|
showCommonBottomSheetWithoutHeight(context, title: "", titleWidget: Consumer<AppointmentViaRegionViewmodel>(builder: (_, data, __) => getTitle(data)), isDismissible: false,
|
|
|
|
titleWidget: Consumer<AppointmentViaRegionViewmodel>(builder: (_, data, __) => getTitle(data)),
|
|
|
|
|
|
|
|
isDismissible: false,
|
|
|
|
|
|
|
|
child: Consumer<AppointmentViaRegionViewmodel>(builder: (_, data, __) {
|
|
|
|
child: Consumer<AppointmentViaRegionViewmodel>(builder: (_, data, __) {
|
|
|
|
return getRegionalSelectionWidget(data);
|
|
|
|
return getRegionalSelectionWidget(data);
|
|
|
|
}),
|
|
|
|
}), callBackFunc: () {});
|
|
|
|
callBackFunc: () {});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Widget getRegionalSelectionWidget(AppointmentViaRegionViewmodel data) {
|
|
|
|
Widget getRegionalSelectionWidget(AppointmentViaRegionViewmodel data) {
|
|
|
|
@ -817,6 +820,7 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bookAppointmentsViewModel.addListener(listener);
|
|
|
|
bookAppointmentsViewModel.addListener(listener);
|
|
|
|
bookAppointmentsViewModel.getRegionMappedProjectList();
|
|
|
|
bookAppointmentsViewModel.getRegionMappedProjectList();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -927,7 +931,8 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
).paddingSymmetrical(24.h, 0.h);
|
|
|
|
).paddingSymmetrical(24.h, 0.h);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void showUnKnownClinicBottomSheet() {
|
|
|
|
void showUnKnownClinicBottomSheet() async {
|
|
|
|
|
|
|
|
if (await Utils.getBoolFromPrefs(CacheConst.isShowSymptomCheckerBottomSheet)) {
|
|
|
|
showCommonBottomSheetWithoutHeight(
|
|
|
|
showCommonBottomSheetWithoutHeight(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
title: "",
|
|
|
|
title: "",
|
|
|
|
@ -938,7 +943,10 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
LocaleKeys.notSureHelpMeChooseClinic.tr(context: context).toText28(color: AppColors.textColor, isBold: true, height: 1.5),
|
|
|
|
LocaleKeys.notSureHelpMeChooseClinic.tr(context: context).toText28(color: AppColors.textColor, isBold: true, height: 1.5),
|
|
|
|
SizedBox(height: 4.h),
|
|
|
|
SizedBox(height: 4.h),
|
|
|
|
LocaleKeys.mentionYourSymptomsAndFindDoctors.tr(context: context).toText12(color: AppColors.greyTextColor, isBold: true,),
|
|
|
|
LocaleKeys.mentionYourSymptomsAndFindDoctors.tr(context: context).toText12(
|
|
|
|
|
|
|
|
color: AppColors.greyTextColor,
|
|
|
|
|
|
|
|
isBold: true,
|
|
|
|
|
|
|
|
),
|
|
|
|
SizedBox(height: 24.h),
|
|
|
|
SizedBox(height: 24.h),
|
|
|
|
CustomButton(
|
|
|
|
CustomButton(
|
|
|
|
text: LocaleKeys.yesPleaseINeedHelp.tr(context: context),
|
|
|
|
text: LocaleKeys.yesPleaseINeedHelp.tr(context: context),
|
|
|
|
@ -959,6 +967,7 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
CustomButton(
|
|
|
|
CustomButton(
|
|
|
|
text: LocaleKeys.noThanksIKnowTheClinic.tr(context: context),
|
|
|
|
text: LocaleKeys.noThanksIKnowTheClinic.tr(context: context),
|
|
|
|
onPressed: () {
|
|
|
|
onPressed: () {
|
|
|
|
|
|
|
|
Utils.saveBoolFromPrefs(CacheConst.isShowSymptomCheckerBottomSheet, false);
|
|
|
|
context.pop();
|
|
|
|
context.pop();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
backgroundColor: AppColors.chipSecondaryLightRedColor,
|
|
|
|
backgroundColor: AppColors.chipSecondaryLightRedColor,
|
|
|
|
@ -975,4 +984,5 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
|
|
|
|
callBackFunc: () {},
|
|
|
|
callBackFunc: () {},
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|