diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index c70123d4..13f778ff 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -36,7 +36,7 @@ android {
applicationId = "com.cloudsolutions.HMGPatientApp"
// minSdk = 24
minSdk = 29
- targetSdk = 35
+ targetSdk = 36
compileSdk = 36
// targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml
new file mode 100644
index 00000000..360ab55d
--- /dev/null
+++ b/android/app/src/main/res/values/colors.xml
@@ -0,0 +1,26 @@
+
+ #ffffff
+ #ED1C2B
+ #444647
+ #2E3039
+ #2E3039
+ #a5a5a5
+ #e1e1e1
+ #FFF
+ #1e1e1e
+ #ED1C2B
+ #F9FAFD
+ #F2FAFD
+ #EC2213
+ #4D6E6E6E
+ #FFFFFFFF
+ #00000000
+ #3db39e
+ #00000000
+ #c7c7c7
+ #4c4c4c
+ #4c4c4c
+ #a5a5a5
+ #ED1C2B
+ #FFF
+
\ No newline at end of file
diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json
index b2bc5c2d..c025a030 100644
--- a/assets/langs/ar-SA.json
+++ b/assets/langs/ar-SA.json
@@ -1968,5 +1968,6 @@
"notAvailable": "غير متاح",
"hide": "إخفاء",
"viewPatientQR": "عرض رمز الاستجابة السريعة للمريض",
- "patientQR": "رمز الاستجابة السريعة للمريض"
+ "patientQR": "رمز الاستجابة السريعة للمريض",
+ "forText": "عن"
}
diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json
index 0e3429e4..69e0d66d 100644
--- a/assets/langs/en-US.json
+++ b/assets/langs/en-US.json
@@ -1958,7 +1958,8 @@
"notAvailable": "Not Available",
"hide": "Hide",
"viewPatientQR": "View Patient QR Code",
- "patientQR": "Patient QR Code"
+ "patientQR": "Patient QR Code",
+ "forText": "For"
}
diff --git a/lib/core/api/api_client.dart b/lib/core/api/api_client.dart
index 3bfbf6cb..3a5ff281 100644
--- a/lib/core/api/api_client.dart
+++ b/lib/core/api/api_client.dart
@@ -210,8 +210,8 @@ class ApiClientImp implements ApiClient {
body['TokenID'] = "@dm!n";
}
- // body['TokenID'] = "@dm!n";
- // body['PatientID'] = 2122445;
+ body['TokenID'] = "@dm!n";
+ // body['PatientID'] = 1307867;
// body['PatientID'] = 53320;
// body['PatientTypeID'] = 1;
// body['PatientOutSA'] = 0;
diff --git a/lib/core/api_consts.dart b/lib/core/api_consts.dart
index 8f2deaa3..8f1455ad 100644
--- a/lib/core/api_consts.dart
+++ b/lib/core/api_consts.dart
@@ -5,7 +5,7 @@ import 'package:hmg_patient_app_new/core/enums.dart';
class ApiConsts {
static const maxSmallScreen = 660;
- static AppEnvironmentTypeEnum appEnvironmentType = AppEnvironmentTypeEnum.uat;
+ static AppEnvironmentTypeEnum appEnvironmentType = AppEnvironmentTypeEnum.prod;
// static String baseUrl = 'https://uat.hmgwebservices.com/'; // HIS API URL UAT
diff --git a/lib/features/book_appointments/book_appointments_view_model.dart b/lib/features/book_appointments/book_appointments_view_model.dart
index e4f028d9..8ec370a4 100644
--- a/lib/features/book_appointments/book_appointments_view_model.dart
+++ b/lib/features/book_appointments/book_appointments_view_model.dart
@@ -404,6 +404,7 @@ class BookAppointmentsViewModel extends ChangeNotifier {
isWaitingAppointmentSelected = false;
isPatientRescheduleAppointment = false;
bodyTypes = [maleLaserCategory, femaleLaserCategory];
+ selectedChiefComplaintID = 0;
// getLocation();
notifyListeners();
}
@@ -420,14 +421,14 @@ class BookAppointmentsViewModel extends ChangeNotifier {
setIsNearestAppointmentSelected(bool isNearestAppointmentSelected) {
this.isNearestAppointmentSelected = isNearestAppointmentSelected;
if (isNearestAppointmentSelected) {
- for (var group in doctorsListGrouped) {
- group.sort((a, b) {
- var aSlot = a.nearestFreeSlot;
- var bSlot = b.nearestFreeSlot;
- if (aSlot == null || bSlot == null) return 0;
- return DateUtil.convertStringToDate(aSlot).compareTo(DateUtil.convertStringToDate(bSlot));
- });
- }
+ // for (var group in doctorsListGrouped) {
+ // group.sort((a, b) {
+ // var aSlot = a.nearestFreeSlot;
+ // var bSlot = b.nearestFreeSlot;
+ // if (aSlot == null || bSlot == null) return 0;
+ // return DateUtil.convertStringToDate(aSlot).compareTo(DateUtil.convertStringToDate(bSlot));
+ // });
+ // }
} else {
// for (var group in doctorsListGrouped) {
// group.sort((a, b) {
diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart
index 51a687a8..536f3355 100644
--- a/lib/generated/locale_keys.g.dart
+++ b/lib/generated/locale_keys.g.dart
@@ -1950,5 +1950,6 @@ abstract class LocaleKeys {
static const hide = 'hide';
static const viewPatientQR = 'viewPatientQR';
static const patientQR = 'patientQR';
+ static const forText = 'forText';
}
diff --git a/lib/presentation/appointments/widgets/region_bottomsheet/region_list_widget.dart b/lib/presentation/appointments/widgets/region_bottomsheet/region_list_widget.dart
index b689162c..3a74306e 100644
--- a/lib/presentation/appointments/widgets/region_bottomsheet/region_list_widget.dart
+++ b/lib/presentation/appointments/widgets/region_bottomsheet/region_list_widget.dart
@@ -16,6 +16,7 @@ import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/appointments/widgets/region_bottomsheet/region_list_item.dart' show RegionListItem;
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/chip/app_custom_chip_widget.dart';
import 'package:lottie/lottie.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
@@ -117,6 +118,14 @@ class _RegionBottomSheetBodyState extends State {
height: MediaQuery.of(context).size.height * 0.5,
child: Column(
children: [
+ // AppCustomChipWidget(
+ // richText: Row(
+ // children: [
+ // "${appState.getAuthenticatedUser()!.age} ".toText10(color: AppColors.blackColor, isBold: true),
+ // LocaleKeys.yearsOld.tr(context: context).toText10(color: AppColors.blackColor, isBold: true),
+ // ],
+ // ),
+ // ),
// Consumer(
// builder: (context, regionVM, _) {
// return Padding(
diff --git a/lib/presentation/authentication/register.dart b/lib/presentation/authentication/register.dart
index 8d44f377..1451ecb3 100644
--- a/lib/presentation/authentication/register.dart
+++ b/lib/presentation/authentication/register.dart
@@ -17,6 +17,9 @@ import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/appbar/app_bar_widget.dart';
import 'package:hmg_patient_app_new/widgets/bottomsheet/generic_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart' show CustomButton;
+import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
+import 'package:hmg_patient_app_new/widgets/date_range_selector/date_range_calender.dart';
+import 'package:hmg_patient_app_new/widgets/date_range_selector/models/calendar_design_type.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:provider/provider.dart';
@@ -153,30 +156,56 @@ class _RegisterNew extends State {
},
).withVerticalPadding(8),
Divider(height: 1),
- TextInputWidget(
- labelText: LocaleKeys.dob.tr(context: context),
- hintText: "11 July, 1994",
- controller: authVm.dobController,
- focusNode: _dobFocusNode,
- isEnable: true,
- prefix: null,
- isAllowRadius: true,
- isBorderAllowed: false,
- isAllowLeadingIcon: true,
- padding: EdgeInsets.symmetric(vertical: 8.h),
- leadingIcon: AppAssets.birthday_cake,
- selectionType: SelectionTypeEnum.calendar,
- onCalendarTypeChanged: authVm.onCalenderTypeChange,
- onChange: (value) {
- authVm.onDobChange(value);
- // Clear error when user selects a date
- authVm.clearDobError();
+ GestureDetector(
+ onTap: () async {
+ showCommonBottomSheetWithoutHeight(
+ title: LocaleKeys.selectDate.tr(context: context),
+ context,
+ child: DateRangeSelector(
+ onRangeSelected: (DateTime? start, DateTime? end) {
+ if (start != null) {
+ var picked = start.toString().split(" ").first;
+ // authVm.dobController.text = picked;
+ authVm.onDobChange(picked);
+ // Clear error when user selects a date
+ authVm.clearDobError();
+ }
+ },
+ designType: CalendarDesignType.designV2,
+ showCalendarToggle: true,
+ onCalendarTypeChanged: null,
+ btnTitle: LocaleKeys.done.tr(context: context),
+ ),
+ isFullScreen: false,
+ isCloseButtonVisible: true,
+ callBackFunc: () {},
+ );
},
- fontFamily: "Poppins",
- hasError: false,
- // Don't show individual field border
- errorMessage: authVm.dobError, // Show error message if exists
- ).withVerticalPadding(8),
+ child: TextInputWidget(
+ labelText: LocaleKeys.dob.tr(context: context),
+ hintText: "11 July, 1994",
+ controller: authVm.dobController,
+ focusNode: _dobFocusNode,
+ isEnable: false,
+ prefix: null,
+ isAllowRadius: true,
+ isBorderAllowed: false,
+ isAllowLeadingIcon: true,
+ padding: EdgeInsets.symmetric(vertical: 8.h),
+ leadingIcon: AppAssets.birthday_cake,
+ selectionType: SelectionTypeEnum.calendar,
+ onCalendarTypeChanged: authVm.onCalenderTypeChange,
+ onChange: (value) {
+ authVm.onDobChange(value);
+ // Clear error when user selects a date
+ authVm.clearDobError();
+ },
+ fontFamily: "Poppins",
+ hasError: false,
+ // Don't show individual field border
+ errorMessage: authVm.dobError, // Show error message if exists
+ ).withVerticalPadding(8),
+ ),
],
),
),
diff --git a/lib/presentation/book_appointment/review_appointment_page.dart b/lib/presentation/book_appointment/review_appointment_page.dart
index b7fb6469..a7e01e4b 100644
--- a/lib/presentation/book_appointment/review_appointment_page.dart
+++ b/lib/presentation/book_appointment/review_appointment_page.dart
@@ -424,6 +424,7 @@ class _ReviewAppointmentPageState extends State {
void initiateBookAppointment() async {
// LoadingUtils.showFullScreenLoader(barrierDismissible: true, isSuccessDialog: false, loadingText: bookAppointmentsViewModel.isPatientRescheduleAppointment ? LocaleKeys.reschedulingAppo.tr(context: context) : LocaleKeys.bookingYourAppointment.tr(context: context));
+ Clarity.sendCustomEvent('Appointment_book_success');
LoaderBottomSheet.showLoader(
loadingText: bookAppointmentsViewModel.isPatientRescheduleAppointment
? LocaleKeys.reschedulingAppo.tr(context: context)
@@ -449,6 +450,7 @@ class _ReviewAppointmentPageState extends State {
callBackFunc: () {
bookAppointmentsViewModel.setIsPatientRescheduleAppointment(false);
bookAppointmentsViewModel.setIsLiveCareSchedule(false);
+ bookAppointmentsViewModel.setSelectedChiefComplaintID(0);
Navigator.pushAndRemoveUntil(
context,
CustomPageRoute(
@@ -524,6 +526,7 @@ class _ReviewAppointmentPageState extends State {
child: Utils.getSuccessWidget(loadingText: LocaleKeys.appointmentSuccess.tr()).paddingSymmetrical(0.h, 24.h), callBackFunc: () {
bookAppointmentsViewModel.setIsLiveCareSchedule(false);
bookAppointmentsViewModel.setIsPatientRescheduleAppointment(false);
+ bookAppointmentsViewModel.setSelectedChiefComplaintID(0);
Navigator.pushAndRemoveUntil(context, CustomPageRoute(page: LandingNavigation()), (r) => false);
}, isFullScreen: false, isCloseButtonVisible: false, isAutoDismiss: true);
});
diff --git a/lib/presentation/book_appointment/select_clinic_page.dart b/lib/presentation/book_appointment/select_clinic_page.dart
index cf1cd897..e0a810ed 100644
--- a/lib/presentation/book_appointment/select_clinic_page.dart
+++ b/lib/presentation/book_appointment/select_clinic_page.dart
@@ -1202,7 +1202,9 @@ class _SelectClinicPageState extends State {
getTitle(AppointmentViaRegionViewmodel data) {
if (data.selectedRegionId == null) {
- return LocaleKeys.selectRegion.tr(context: context).toText20(isBold: true);
+ return Expanded(
+ child: "${LocaleKeys.selectRegion.tr(context: context)} ${LocaleKeys.forText.tr(context: context)} '${bookAppointmentsViewModel.selectedClinic.clinicDescription}'".toText20(isBold: true),
+ );
} else {
return Transform.flip(
flipX: data.isArabic ? true : false,
diff --git a/lib/presentation/book_appointment/select_doctor_page.dart b/lib/presentation/book_appointment/select_doctor_page.dart
index 26ab5519..132cd46a 100644
--- a/lib/presentation/book_appointment/select_doctor_page.dart
+++ b/lib/presentation/book_appointment/select_doctor_page.dart
@@ -57,7 +57,8 @@ class _SelectDoctorPageState extends State {
} else if (bookAppointmentsViewModel.isGetDocForHealthCal) {
bookAppointmentsViewModel.getDoctorsListByHealthCal();
} else {
- bookAppointmentsViewModel.getDoctorsList();
+ bookAppointmentsViewModel.setIsNearestAppointmentSelected(true);
+ bookAppointmentsViewModel.getDoctorsList(isNearest: true);
}
}
});
diff --git a/lib/presentation/book_appointment/widgets/appointment_calendar.dart b/lib/presentation/book_appointment/widgets/appointment_calendar.dart
index ea954e03..11092c79 100644
--- a/lib/presentation/book_appointment/widgets/appointment_calendar.dart
+++ b/lib/presentation/book_appointment/widgets/appointment_calendar.dart
@@ -14,8 +14,10 @@ import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/authentication/authentication_view_model.dart';
import 'package:hmg_patient_app_new/features/book_appointments/book_appointments_view_model.dart';
+import 'package:hmg_patient_app_new/features/book_appointments/models/resp_models/get_clinic_list_response_model.dart';
import 'package:hmg_patient_app_new/features/book_appointments/models/timeslots.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
+import 'package:hmg_patient_app_new/presentation/book_appointment/dental_chief_complaints_page.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/review_appointment_page.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/waiting_appointment/waiting_appointment_info.dart';
import 'package:hmg_patient_app_new/presentation/home/navigation_screen.dart';
@@ -95,63 +97,116 @@ class _AppointmentCalendarState extends State {
// ),
SizedBox(
height: MediaQuery.of(context).size.height * 0.45,
- child: Directionality(
- textDirection: isArabic ? ui.TextDirection.rtl : ui.TextDirection.ltr,
- child: Localizations.override(
- context: context,
- locale: isArabic ? const Locale('ar', 'SA') : const Locale('en'),
- child: ClarityUnmask(
- child: SfCalendar(
- controller: _calendarController,
- minDate: DateTime.now(),
- showNavigationArrow: true,
- // headerHeight: 60.h,
- headerStyle: CalendarHeaderStyle(
- backgroundColor: AppColors.transparent,
- textAlign: isArabic ? TextAlign.end : TextAlign.start,
- textStyle: TextStyle(fontSize: 18.f, fontWeight: FontWeight.w600, letterSpacing: -0.46, color: AppColors.primaryRedColor),
- ),
- viewHeaderStyle: ViewHeaderStyle(
- // backgroundColor: AppColors.scaffoldBgColor,
- dayTextStyle: TextStyle(fontSize: 14.f, fontWeight: FontWeight.w600, letterSpacing: -0.46, color: AppColors.textColor),
- ),
- view: CalendarView.month,
- todayHighlightColor: Colors.transparent,
- todayTextStyle: TextStyle(color: AppColors.textColor, fontWeight: FontWeight.bold),
- selectionDecoration: ShapeDecoration(
- color: AppColors.transparent,
- shape: SmoothRectangleBorder(
- borderRadius: BorderRadius.circular(10.r),
- smoothness: 1,
- side: BorderSide(color: AppColors.primaryRedColor, width: 1.5),
+ child: Stack(
+ children: [
+ Directionality(
+ textDirection: isArabic ? ui.TextDirection.rtl : ui.TextDirection.ltr,
+ child: Localizations.override(
+ context: context,
+ locale: isArabic ? const Locale('ar', 'SA') : const Locale('en'),
+ child: ClarityUnmask(
+ child: SfCalendar(
+ controller: _calendarController,
+ minDate: DateTime.now(),
+ initialDisplayDate: DateUtil.convertStringToDate(bookAppointmentsViewModel.freeSlotsResponse[0]),
+ showNavigationArrow: false,
+ headerHeight: 60.h,
+ headerStyle: CalendarHeaderStyle(
+ backgroundColor: AppColors.transparent,
+ // textAlign: isArabic ? TextAlign.end : TextAlign.start,
+ textStyle: TextStyle(fontSize: 18.f, fontWeight: FontWeight.w600, letterSpacing: -0.46, color: AppColors.primaryRedColor),
+ ),
+ viewHeaderStyle: ViewHeaderStyle(
+ // backgroundColor: AppColors.scaffoldBgColor,
+ dayTextStyle: TextStyle(fontSize: 14.f, fontWeight: FontWeight.w600, letterSpacing: -0.46, color: AppColors.textColor),
+ ),
+ view: CalendarView.month,
+ todayHighlightColor: Colors.transparent,
+ todayTextStyle: TextStyle(color: AppColors.textColor, fontWeight: FontWeight.bold),
+ selectionDecoration: ShapeDecoration(
+ color: AppColors.transparent,
+ shape: SmoothRectangleBorder(
+ borderRadius: BorderRadius.circular(10.r),
+ smoothness: 1,
+ side: BorderSide(color: AppColors.primaryRedColor, width: 1.5),
+ ),
+ ),
+ cellBorderColor: AppColors.transparent,
+ dataSource: MeetingDataSource(_getDataSource()),
+ monthCellBuilder: (context, details) => Padding(
+ padding: EdgeInsets.all(12.h),
+ child: details.date.day.toString().toText14(
+ isCenter: true,
+ color: details.date == _calendarController.selectedDate ? AppColors.primaryRedColor : AppColors.textColor,
+ isEnglishOnly: true,
+ ),
+ ),
+ monthViewSettings: MonthViewSettings(
+ dayFormat: "EEE",
+ appointmentDisplayMode: MonthAppointmentDisplayMode.indicator,
+ showTrailingAndLeadingDates: false,
+ appointmentDisplayCount: 1,
+ monthCellStyle: MonthCellStyle(
+ textStyle: TextStyle(fontSize: 19.f),
+ ),
+ ),
+ onTap: (CalendarTapDetails details) {
+ _calendarController.selectedDate = details.date;
+ _onDaySelected(details.date!);
+ },
),
),
- cellBorderColor: AppColors.transparent,
- dataSource: MeetingDataSource(_getDataSource()),
- monthCellBuilder: (context, details) => Padding(
- padding: EdgeInsets.all(12.h),
- child: details.date.day.toString().toText14(
- isCenter: true,
- color: details.date == _calendarController.selectedDate ? AppColors.primaryRedColor : AppColors.textColor,
- isEnglishOnly: true,
+ ),
+ ),
+ // Custom Navigation Arrows
+ Positioned(
+ top: 0,
+ right: isArabic ? null : 0,
+ left: isArabic ? 0 : null,
+ child: SizedBox(
+ height: 60.h,
+ child: Row(
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ // Previous Month Arrow
+ GestureDetector(
+ onTap: () {
+ setState(() {
+ _calendarController.backward!();
+ });
+ },
+ child: Container(
+ padding: EdgeInsets.all(8.h),
+ child: Icon(
+ // isArabic ? Icons.arrow_forward_ios : Icons.arrow_back_ios,
+ Icons.arrow_back_ios,
+ size: 24.h,
+ color: AppColors.primaryRedColor,
+ ),
),
+ ),
+ // Next Month Arrow
+ GestureDetector(
+ onTap: () {
+ setState(() {
+ _calendarController.forward!();
+ });
+ },
+ child: Container(
+ padding: EdgeInsets.all(8.h),
+ child: Icon(
+ // isArabic ? Icons.arrow_back_ios : Icons.arrow_forward_ios,
+ Icons.arrow_forward_ios,
+ size: 24.h,
+ color: AppColors.primaryRedColor,
+ ),
+ ),
+ ),
+ ],
),
- monthViewSettings: MonthViewSettings(
- dayFormat: "EEE",
- appointmentDisplayMode: MonthAppointmentDisplayMode.indicator,
- showTrailingAndLeadingDates: false,
- appointmentDisplayCount: 1,
- monthCellStyle: MonthCellStyle(
- textStyle: TextStyle(fontSize: 19.f),
- ),
- ),
- onTap: (CalendarTapDetails details) {
- _calendarController.selectedDate = details.date;
- _onDaySelected(details.date!);
- },
),
),
- ),
+ ],
),
),
SizedBox(height: 10.h),
@@ -164,7 +219,7 @@ class _AppointmentCalendarState extends State {
? ClarityUnmask(
child: ConstrainedBox(
constraints: BoxConstraints(
- maxHeight: MediaQuery.of(context).size.height * 0.15,
+ maxHeight: MediaQuery.of(context).size.height * 0.25,
minHeight: 0,
),
child: Directionality(
@@ -213,15 +268,31 @@ class _AppointmentCalendarState extends State {
),
);
} else {
- bookAppointmentsViewModel.getAppointmentNearestGate(
- projectID: bookAppointmentsViewModel.selectedDoctor.projectID!, clinicID: bookAppointmentsViewModel.selectedDoctor.clinicID!);
- bookAppointmentsViewModel.setSelectedAppointmentDateTime(selectedDate, selectedTime, selectedDateDisplay);
- Navigator.of(context).pop();
- Navigator.of(context).push(
- CustomPageRoute(
- page: ReviewAppointmentPage(),
- ),
- );
+ if (bookAppointmentsViewModel.selectedClinic.clinicID! == 17 && bookAppointmentsViewModel.selectedChiefComplaintID == 0) {
+ GetClinicsListResponseModel selectedClinic = GetClinicsListResponseModel(
+ clinicID: bookAppointmentsViewModel.selectedClinic.clinicID,
+ clinicDescription: bookAppointmentsViewModel.selectedClinic.clinicDescription,
+ isLiveCareClinicAndOnline: false,
+ liveCareServiceID: 0,
+ liveCareClinicID: 0);
+ bookAppointmentsViewModel.setProjectID(bookAppointmentsViewModel.selectedDoctor.projectID.toString());
+ bookAppointmentsViewModel.setSelectedClinic(selectedClinic);
+ bookAppointmentsViewModel.setIsChiefComplaintsListLoading(true);
+ Navigator.of(context).push(
+ CustomPageRoute(
+ page: DentalChiefComplaintsPage(),
+ ),
+ );
+ } else {
+ bookAppointmentsViewModel.getAppointmentNearestGate(projectID: bookAppointmentsViewModel.selectedDoctor.projectID!, clinicID: bookAppointmentsViewModel.selectedDoctor.clinicID!);
+ bookAppointmentsViewModel.setSelectedAppointmentDateTime(selectedDate, selectedTime, selectedDateDisplay);
+ Navigator.of(context).pop();
+ Navigator.of(context).push(
+ CustomPageRoute(
+ page: ReviewAppointmentPage(),
+ ),
+ );
+ }
}
} else {
showCommonBottomSheetWithoutHeight(
@@ -231,8 +302,7 @@ class _AppointmentCalendarState extends State {
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
- Lottie.asset(AppAnimations.errorAnimation,
- repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
+ Lottie.asset(AppAnimations.errorAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(LocaleKeys.loginToUseService.tr(context: context)).toText16(color: AppColors.blackColor),
SizedBox(height: 16.h),
@@ -331,12 +401,7 @@ class _AppointmentCalendarState extends State {
selectedButtonIndex = 0;
List