Updates & fixes

pull/188/head
haroon amjad 2 months ago
parent 8309f311e6
commit 05b6d02e4c

@ -1576,5 +1576,7 @@
"symptoms": "أعراض", "symptoms": "أعراض",
"insuranceInActive": "التأمين غير نشط", "insuranceInActive": "التأمين غير نشط",
"insuranceInActiveContactSupport": "لديك تأمين ساري المفعول، ولكنه غير مُفعّل حاليًا في مجموعة حبيب الطبية. يُرجى التواصل مع خدمة عملاء مجموعة حبيب الطبية.", "insuranceInActiveContactSupport": "لديك تأمين ساري المفعول، ولكنه غير مُفعّل حاليًا في مجموعة حبيب الطبية. يُرجى التواصل مع خدمة عملاء مجموعة حبيب الطبية.",
"updateAppNow": "تحديث التطبيق الآن" "updateAppNow": "تحديث التطبيق الآن",
"Dr": "الدكتور.",
"reschedulingAppo": "إعادة جدولة الموعد، يرجى الانتظار..."
} }

@ -1567,5 +1567,7 @@
"symptoms": "Symptoms", "symptoms": "Symptoms",
"insuranceInActive": "Insurance Inactive", "insuranceInActive": "Insurance Inactive",
"insuranceInActiveContactSupport": "You have a valid insurance but it is currently inactive in HMG. Please contact HMG customer support to activate it.", "insuranceInActiveContactSupport": "You have a valid insurance but it is currently inactive in HMG. Please contact HMG customer support to activate it.",
"updateAppNow": "Update App Now" "updateAppNow": "Update App Now",
"Dr": "Dr.",
"reschedulingAppo": "Rescheduling Appointment, Please wait..."
} }

@ -4,7 +4,7 @@ import 'package:hmg_patient_app_new/core/enums.dart';
class ApiConsts { class ApiConsts {
static const maxSmallScreen = 660; static const maxSmallScreen = 660;
static AppEnvironmentTypeEnum appEnvironmentType = AppEnvironmentTypeEnum.prod; static AppEnvironmentTypeEnum appEnvironmentType = AppEnvironmentTypeEnum.uat;
// static String baseUrl = 'https://uat.hmgwebservices.com/'; // HIS API URL UAT // static String baseUrl = 'https://uat.hmgwebservices.com/'; // HIS API URL UAT

@ -34,6 +34,7 @@ import 'package:hmg_patient_app_new/services/dialog_service.dart';
import 'package:hmg_patient_app_new/services/error_handler_service.dart'; import 'package:hmg_patient_app_new/services/error_handler_service.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart'; import 'package:hmg_patient_app_new/services/navigation_service.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart'; import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart'; import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
import 'models/resp_models/get_livecare_clinics_response_model.dart'; import 'models/resp_models/get_livecare_clinics_response_model.dart';
@ -838,16 +839,11 @@ class BookAppointmentsViewModel extends ChangeNotifier {
appointmentDate: apiResponse.data["SameClinicApptList"][0]['AppointmentDate'], appointmentDate: apiResponse.data["SameClinicApptList"][0]['AppointmentDate'],
); );
showCommonBottomSheet(navigationService.navigatorKey.currentContext!, LoaderBottomSheet.showLoader(
child: Utils.getLoadingWidget(loadingText: LocaleKeys.cancellingAppointmentPleaseWait.tr()), loadingText: LocaleKeys.reschedulingAppo.tr(context: navigationService.navigatorKey.currentContext!),
callBackFunc: (str) {}, );
title: "",
height: ResponsiveExtension.screenHeight * 0.3,
isCloseButtonVisible: false,
isDismissible: false,
isFullScreen: false);
await cancelAppointment(patientAppointmentHistoryResponseModel: patientAppointmentHistoryResponseModel).then((val) async { await cancelAppointment(patientAppointmentHistoryResponseModel: patientAppointmentHistoryResponseModel).then((val) async {
navigationService.pop(); LoaderBottomSheet.hideLoader();
Future.delayed(Duration(milliseconds: 50)).then((value) async {}); Future.delayed(Duration(milliseconds: 50)).then((value) async {});
LoadingUtils.showFullScreenLoader(barrierDismissible: true, isSuccessDialog: false, loadingText: LocaleKeys.bookingYourAppointment.tr()); LoadingUtils.showFullScreenLoader(barrierDismissible: true, isSuccessDialog: false, loadingText: LocaleKeys.bookingYourAppointment.tr());
await insertSpecificAppointment( await insertSpecificAppointment(

@ -32,11 +32,11 @@ class InsuranceViewModel extends ChangeNotifier {
InsuranceViewModel({required this.insuranceRepo, required this.errorHandlerService}); InsuranceViewModel({required this.insuranceRepo, required this.errorHandlerService});
initInsuranceProvider() { initInsuranceProvider() {
// if (isInsuranceDataToBeLoaded) { if (isInsuranceDataToBeLoaded) {
patientInsuranceList.clear(); patientInsuranceList.clear();
isInsuranceLoading = true; isInsuranceLoading = true;
getPatientInsuranceDetails(); getPatientInsuranceDetails();
// } }
patientInsuranceCardHistoryList.clear(); patientInsuranceCardHistoryList.clear();
isInsuranceHistoryLoading = true; isInsuranceHistoryLoading = true;
isInsuranceDetailsLoading = true; isInsuranceDetailsLoading = true;
@ -71,7 +71,7 @@ class InsuranceViewModel extends ChangeNotifier {
} }
Future<void> getPatientInsuranceDetails({Function(dynamic)? onSuccess, Function(String)? onError}) async { Future<void> getPatientInsuranceDetails({Function(dynamic)? onSuccess, Function(String)? onError}) async {
// if (!isInsuranceDataToBeLoaded) return; if (!isInsuranceDataToBeLoaded) return;
final result = await insuranceRepo.getPatientInsuranceDetails(); final result = await insuranceRepo.getPatientInsuranceDetails();

@ -153,7 +153,10 @@ class PrescriptionsViewModel extends ChangeNotifier {
final result = await prescriptionsRepo.getPatientPrescriptionDetails(prescriptionsResponseModel: prescriptionsResponseModel); final result = await prescriptionsRepo.getPatientPrescriptionDetails(prescriptionsResponseModel: prescriptionsResponseModel);
result.fold( result.fold(
(failure) async => await errorHandlerService.handleError(failure: failure), // (failure) async => await errorHandlerService.handleError(failure: failure),
(failure) async {
onError!(failure.message);
},
(apiResponse) { (apiResponse) {
if (apiResponse.messageStatus == 2) { if (apiResponse.messageStatus == 2) {
// dialogService.showErrorDialog(message: apiResponse.errorMessage!, onOkPressed: () {}); // dialogService.showErrorDialog(message: apiResponse.errorMessage!, onOkPressed: () {});

@ -1568,5 +1568,7 @@ abstract class LocaleKeys {
static const insuranceInActive = 'insuranceInActive'; static const insuranceInActive = 'insuranceInActive';
static const insuranceInActiveContactSupport = 'insuranceInActiveContactSupport'; static const insuranceInActiveContactSupport = 'insuranceInActiveContactSupport';
static const updateAppNow = 'updateAppNow'; static const updateAppNow = 'updateAppNow';
static const Dr = 'Dr';
static const reschedulingAppo = 'reschedulingAppo';
} }

@ -533,7 +533,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
LoaderBottomSheet.hideLoader(); LoaderBottomSheet.hideLoader();
showCommonBottomSheetWithoutHeight( showCommonBottomSheetWithoutHeight(
context, context,
child: Utils.getErrorWidget(loadingText: err), child: Utils.getErrorWidget(loadingText: LocaleKeys.noPrescriptionsForAppointment.tr(context: context)),
callBackFunc: () {}, callBackFunc: () {},
isFullScreen: false, isFullScreen: false,
isCloseButtonVisible: true, isCloseButtonVisible: true,

@ -290,6 +290,12 @@ class _MyDoctorsPageState extends State<MyDoctorsPage> {
clinicID: doctor?.clinicID ?? 0, clinicID: doctor?.clinicID ?? 0,
projectID: doctor?.projectID ?? 0, projectID: doctor?.projectID ?? 0,
doctorID: doctor?.doctorID ?? 0, doctorID: doctor?.doctorID ?? 0,
clinicName: doctor?.clinicName,
projectName: doctor?.projectName,
// nationalityFlagURL: doctor?.nationalityFlagURL,
name: doctor?.doctorName,
doctorImageURL: doctor?.doctorImageURL ?? doctor?.doctorImage,
speciality: doctor?.doctorSpeciality
)); ));
LoaderBottomSheet.showLoader(); LoaderBottomSheet.showLoader();
await bookAppointmentsViewModel.getDoctorProfile(onSuccess: (dynamic respData) { await bookAppointmentsViewModel.getDoctorProfile(onSuccess: (dynamic respData) {

@ -73,7 +73,7 @@ class _ReviewAppointmentPageState extends State<ReviewAppointmentPage> {
Row( Row(
children: [ children: [
Image.network( Image.network(
bookAppointmentsViewModel.selectedDoctor.doctorImageURL!, bookAppointmentsViewModel.selectedDoctor.doctorImageURL ?? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown.png",
width: 50.h, width: 50.h,
height: 50.h, height: 50.h,
fit: BoxFit.cover, fit: BoxFit.cover,
@ -83,15 +83,14 @@ class _ReviewAppointmentPageState extends State<ReviewAppointmentPage> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
SizedBox( "${bookAppointmentsViewModel.selectedDoctor.doctorTitle ?? LocaleKeys.Dr.tr(context: context)} ${bookAppointmentsViewModel.selectedDoctor.name}"
width: MediaQuery.of(context).size.width * 0.49, .toString()
child: "${bookAppointmentsViewModel.selectedDoctor.doctorTitle} ${bookAppointmentsViewModel.selectedDoctor.name}" .toText16(isBold: true, maxlines: 1),
.toString() SizedBox(width: 12.w),
.toText16(isBold: true, maxlines: 1),
),
Image.network( Image.network(
bookAppointmentsViewModel.selectedDoctor.nationalityFlagURL!, bookAppointmentsViewModel.selectedDoctor.nationalityFlagURL ?? "https://hmgwebservices.com/Images/flag/SAU.png",
width: 20.h, width: 20.h,
height: 15.h, height: 15.h,
fit: BoxFit.cover, fit: BoxFit.cover,

@ -105,7 +105,9 @@ class ErOnlineCheckinHome extends StatelessWidget {
); );
}); });
}, },
onError: (err) {}); onError: (err) {
LoaderBottomSheet.hideLoader();
});
}); });
}, onCancel: () {}); }, onCancel: () {});
}); });

@ -460,7 +460,7 @@ class _LandingPageState extends State<LandingPage> {
return emergencyServicesVM.patientHasAdvanceERBalance return emergencyServicesVM.patientHasAdvanceERBalance
? Column( ? Column(
children: [ children: [
SizedBox(height: 4.h), SizedBox(height: 16.h),
Container( Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor, color: AppColors.whiteColor,
@ -490,12 +490,15 @@ class _LandingPageState extends State<LandingPage> {
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
LocaleKeys.youHaveEROnlineCheckInRequest.tr(context: context).toText12(isBold: true), LocaleKeys.youHaveEROnlineCheckInRequest.tr(context: context).toText12(isBold: true),
Utils.buildSvgWithAssets( Transform.flip(
icon: AppAssets.forward_arrow_icon_small, flipX: getIt.get<AppState>().isArabic(),
iconColor: AppColors.blackColor, child: Utils.buildSvgWithAssets(
width: 20.h, icon: AppAssets.forward_arrow_icon_small,
height: 15.h, iconColor: AppColors.blackColor,
fit: BoxFit.contain, width: 20.h,
height: 15.h,
fit: BoxFit.contain,
),
), ),
], ],
), ),
@ -509,10 +512,10 @@ class _LandingPageState extends State<LandingPage> {
SizedBox(height: 12.h), SizedBox(height: 12.h),
], ],
) )
: SizedBox(height: 12.h); : SizedBox(height: 0.h);
}, },
), ),
SizedBox(height: 24.h), SizedBox(height: 16.h),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [

File diff suppressed because one or more lines are too long

@ -33,6 +33,7 @@ import 'package:hmg_patient_app_new/features/my_appointments/models/resp_models/
import 'package:hmg_patient_app_new/features/my_appointments/my_appointments_view_model.dart'; import 'package:hmg_patient_app_new/features/my_appointments/my_appointments_view_model.dart';
import 'package:hmg_patient_app_new/features/my_invoices/my_invoices_view_model.dart'; import 'package:hmg_patient_app_new/features/my_invoices/my_invoices_view_model.dart';
import 'package:hmg_patient_app_new/features/prescriptions/prescriptions_view_model.dart'; import 'package:hmg_patient_app_new/features/prescriptions/prescriptions_view_model.dart';
import 'package:hmg_patient_app_new/features/todo_section/todo_section_view_model.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/active_medication/active_medication_page.dart'; import 'package:hmg_patient_app_new/presentation/active_medication/active_medication_page.dart';
import 'package:hmg_patient_app_new/presentation/allergies/allergies_list_page.dart'; import 'package:hmg_patient_app_new/presentation/allergies/allergies_list_page.dart';
@ -1221,6 +1222,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
isLargeText: true, isLargeText: true,
iconSize: 36.w, iconSize: 36.w,
).onPress(() { ).onPress(() {
getIt.get<TodoSectionViewModel>().setIsAncillaryOrdersNeedReloading(true);
Navigator.of(context).push( Navigator.of(context).push(
CustomPageRoute( CustomPageRoute(
page: ToDoPage(), page: ToDoPage(),

@ -310,8 +310,8 @@ class _RadiologyOrdersPageState extends State<RadiologyOrdersPage> {
), ),
), ),
AppCustomChipWidget( AppCustomChipWidget(
labelText: model.isSortByClinic ? (order.clinicDescription ?? '') : (order.projectName ?? ''), labelText: model.isSortByClinic ? (order.projectName ?? '') : (order.clinicDescription ?? ''),
), ),
], ],
), ),
SizedBox(height: 12.h), SizedBox(height: 12.h),

Loading…
Cancel
Save