diff --git a/assets/images/svg/home_lab_result_icon.svg b/assets/images/svg/home_lab_result_icon.svg
new file mode 100644
index 0000000..245048d
--- /dev/null
+++ b/assets/images/svg/home_lab_result_icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/lib/core/api/api_client.dart b/lib/core/api/api_client.dart
index b0a5c78..a75a1ab 100644
--- a/lib/core/api/api_client.dart
+++ b/lib/core/api/api_client.dart
@@ -176,8 +176,8 @@ class ApiClientImp implements ApiClient {
         body[_appState.isAuthenticated ? 'TokenID' : 'LogInTokenID'] = _appState.appAuthToken;
       }
 
-      // body['TokenID'] = "@dm!n";
-      // body['PatientID'] = "4767477";
+      body['TokenID'] = "@dm!n";
+      body['PatientID'] = 3628599;
     }
 
     body.removeWhere((key, value) => value == null);
diff --git a/lib/core/api_consts.dart b/lib/core/api_consts.dart
index f802818..d31679c 100644
--- a/lib/core/api_consts.dart
+++ b/lib/core/api_consts.dart
@@ -723,7 +723,7 @@ const DEACTIVATE_ACCOUNT = 'Services/Patients.svc/REST/PatientAppleActivation_In
 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/core/app_assets.dart b/lib/core/app_assets.dart
index 0a414d0..aead424 100644
--- a/lib/core/app_assets.dart
+++ b/lib/core/app_assets.dart
@@ -131,6 +131,7 @@ class AppAssets {
   static const String smart_phone_fill = '$svgBasePath/smart_phone_fill.svg';
   static const String touch_face_id = '$svgBasePath/touch_face_id.svg';
   static const String minus = '$svgBasePath/minus.svg';
+  static const String home_lab_result_icon = '$svgBasePath/home_lab_result_icon.svg';
 
   //bottom navigation//
   static const String homeBottom = '$svgBasePath/home_bottom.svg';
diff --git a/lib/core/utils/utils.dart b/lib/core/utils/utils.dart
index 152cd54..6b74a7b 100644
--- a/lib/core/utils/utils.dart
+++ b/lib/core/utils/utils.dart
@@ -346,9 +346,9 @@ class Utils {
       mainAxisAlignment: MainAxisAlignment.center,
       crossAxisAlignment: CrossAxisAlignment.center,
       children: [
-        Lottie.asset(AppAnimations.warningAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
+        Lottie.asset(AppAnimations.warningAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 128.h, height: 128.h, fit: BoxFit.fill),
         SizedBox(height: 8.h),
-        (loadingText ?? LocaleKeys.loadingText.tr()).toText14(color: AppColors.blackColor),
+        (loadingText ?? LocaleKeys.loadingText.tr()).toText14(color: AppColors.blackColor, letterSpacing: 0),
         SizedBox(height: 16.h),
         isShowActionButtons
             ? Row(
@@ -361,11 +361,11 @@ class Utils {
                           onCancelTap();
                         }
                       },
-                      backgroundColor: AppColors.secondaryLightRedColor,
-                      borderColor: AppColors.secondaryLightRedColor,
-                      textColor: AppColors.primaryRedColor,
+                      backgroundColor: AppColors.primaryRedColor,
+                      borderColor: AppColors.primaryRedColor,
+                      textColor: AppColors.whiteColor,
                       icon: AppAssets.cancel,
-                      iconColor: AppColors.primaryRedColor,
+                      iconColor: AppColors.whiteColor,
                     ),
                   ),
                   SizedBox(width: 8.h),
@@ -652,6 +652,7 @@ class Utils {
 
   static Widget getPaymentAmountWithSymbol2(num habibWalletAmount, Color iconColor, double iconSize, {bool isSaudiCurrency = true, bool isExpanded = true}) {
     return RichText(
+      maxLines: 1,
       text: TextSpan(
         children: [
           WidgetSpan(
diff --git a/lib/extensions/string_extensions.dart b/lib/extensions/string_extensions.dart
index 7140c05..5465ce3 100644
--- a/lib/extensions/string_extensions.dart
+++ b/lib/extensions/string_extensions.dart
@@ -30,12 +30,11 @@ extension EmailValidator on String {
           fontStyle: fontStyle ?? FontStyle.normal,
           fontWeight: isBold ? FontWeight.bold : FontWeight.normal,
           color: color ?? AppColors.blackColor,
-          letterSpacing: -1,
+          letterSpacing: 0,
         ),
       );
 
-  Widget toText10({Color? color, FontWeight? weight, bool isBold = false, bool isUnderLine = false, int? maxlines, FontStyle? fontStyle, TextOverflow? textOverflow, double letterSpacing = -1}) =>
-      Text(
+  Widget toText10({Color? color, FontWeight? weight, bool isBold = false, bool isUnderLine = false, int? maxlines, FontStyle? fontStyle, TextOverflow? textOverflow, double letterSpacing = 0}) => Text(
         this,
         maxLines: maxlines,
         overflow: textOverflow,
@@ -49,7 +48,7 @@ extension EmailValidator on String {
             decorationColor: color ?? AppColors.blackColor),
       );
 
-  Widget toText11({Color? color, FontWeight? weight, bool isUnderLine = false, bool isCenter = false, bool isBold = false, int maxLine = 0, double letterSpacing = -1}) => Text(
+  Widget toText11({Color? color, FontWeight? weight, bool isUnderLine = false, bool isCenter = false, bool isBold = false, int maxLine = 0, double letterSpacing = 0}) => Text(
         this,
         textAlign: isCenter ? TextAlign.center : null,
         maxLines: (maxLine > 0) ? maxLine : null,
@@ -71,7 +70,7 @@ extension EmailValidator on String {
           fontSize: 12.fSize,
           fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal),
           color: color ?? AppColors.blackColor,
-          letterSpacing: -1,
+          letterSpacing: 0,
           height: height,
           decorationColor: isUnderLine ? AppColors.blackColor : null,
           decoration: isUnderLine ? TextDecoration.underline : null,
@@ -87,7 +86,7 @@ extension EmailValidator on String {
           fontSize: 12.fSize,
           fontWeight: isBold ? FontWeight.bold : FontWeight.normal,
           color: color ?? AppColors.blackColor,
-          letterSpacing: -1,
+          letterSpacing: 0,
           decoration: isUnderLine ? TextDecoration.underline : null,
         ),
       );
@@ -120,7 +119,7 @@ extension EmailValidator on String {
         ),
       );
 
-  Widget toText13({Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, int maxLine = 0, FontWeight? weight, double? letterSpacing = -1}) => Text(
+  Widget toText13({Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, int maxLine = 0, FontWeight? weight, double? letterSpacing = 0}) => Text(
         this,
         textAlign: isCenter ? TextAlign.center : null,
         maxLines: (maxLine > 0) ? maxLine : null,
@@ -139,7 +138,7 @@ extension EmailValidator on String {
           bool isCenter = false,
           FontWeight? weight,
           int? maxlines,
-          double? letterSpacing = -1,
+          double? letterSpacing = 0,
           double? height,
           TextOverflow? textOverflow}) =>
       Text(
diff --git a/lib/features/book_appointments/book_appointments_view_model.dart b/lib/features/book_appointments/book_appointments_view_model.dart
index 7dc1e68..b9750d8 100644
--- a/lib/features/book_appointments/book_appointments_view_model.dart
+++ b/lib/features/book_appointments/book_appointments_view_model.dart
@@ -25,6 +25,7 @@ import 'package:hmg_patient_app_new/presentation/home/navigation_screen.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/widgets/common_bottom_sheet.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:location/location.dart' show Location;
 
@@ -384,7 +385,7 @@ class BookAppointmentsViewModel extends ChangeNotifier {
                               LoadingUtils.hideFullScreenLoader();
                               Navigator.pushAndRemoveUntil(
                                   navigationService.navigatorKey.currentContext!,
-                                  FadePage(
+                                  CustomPageRoute(
                                     page: LandingNavigation(),
                                   ),
                                   (r) => false);
diff --git a/lib/features/my_appointments/appointment_via_region_viewmodel.dart b/lib/features/my_appointments/appointment_via_region_viewmodel.dart
index a49e1c4..1525280 100644
--- a/lib/features/my_appointments/appointment_via_region_viewmodel.dart
+++ b/lib/features/my_appointments/appointment_via_region_viewmodel.dart
@@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart' show ChangeNotifier;
 import 'package:hmg_patient_app_new/features/my_appointments/models/resp_models/doctor_list_api_response.dart';
 import 'package:hmg_patient_app_new/presentation/book_appointment/select_clinic_page.dart';
 import 'package:hmg_patient_app_new/services/navigation_service.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 
 enum AppointmentViaRegionState {
@@ -39,7 +40,7 @@ class AppointmentViaRegionViewmodel extends ChangeNotifier {
 
   void handleLastStep(){
     navigationService.pop();
-    navigationService.push(FadePage(
+    navigationService.push(CustomPageRoute(
       page: SelectClinicPage(),
     ),);
   }
diff --git a/lib/features/my_appointments/my_appointments_view_model.dart b/lib/features/my_appointments/my_appointments_view_model.dart
index 779f2b6..55fafc4 100644
--- a/lib/features/my_appointments/my_appointments_view_model.dart
+++ b/lib/features/my_appointments/my_appointments_view_model.dart
@@ -79,6 +79,11 @@ class MyAppointmentsViewModel extends ChangeNotifier {
   }
 
   Future getPatientAppointments(bool isActiveAppointment, bool isArrivedAppointments, {Function(dynamic)? onSuccess, Function(String)? onError}) async {
+
+    patientAppointmentsHistoryList.clear();
+    patientUpcomingAppointmentsHistoryList.clear();
+    patientArrivedAppointmentsHistoryList.clear();
+
     final result = await myAppointmentsRepo.getPatientAppointments(isActiveAppointment: isActiveAppointment, isArrivedAppointments: isArrivedAppointments);
     final resultArrived = await myAppointmentsRepo.getPatientAppointments(isActiveAppointment: false, isArrivedAppointments: true);
 
diff --git a/lib/features/payfort/payfort_view_model.dart b/lib/features/payfort/payfort_view_model.dart
index 9c9df6a..d99de80 100644
--- a/lib/features/payfort/payfort_view_model.dart
+++ b/lib/features/payfort/payfort_view_model.dart
@@ -99,6 +99,7 @@ class PayfortViewModel extends ChangeNotifier {
     String? applePayShaType,
     String? applePayShaRequestPhrase,
   }) async {
+    var sdkTokenResponse;
     try {
       String? deviceId = await _payfort.getDeviceId();
 
@@ -125,6 +126,7 @@ class PayfortViewModel extends ChangeNotifier {
             // dialogService.showErrorDialog(message: apiResponse.errorMessage!, onOkPressed: () {});
           } else if (apiResponse.messageStatus == 1) {
             // payfortProjectDetailsRespModel = apiResponse.data!;
+            sdkTokenResponse = apiResponse.data;
             isApplePayConfigurationLoading = false;
             notifyListeners();
           }
@@ -133,7 +135,7 @@ class PayfortViewModel extends ChangeNotifier {
     } catch (e) {
       print("Error here: ${e.toString()}");
     }
-    return null;
+    return sdkTokenResponse;
   }
 
   Future paymentWithApplePay({
diff --git a/lib/features/radiology/models/resp_models/patient_radiology_response_model.dart b/lib/features/radiology/models/resp_models/patient_radiology_response_model.dart
index b5568bf..740c275 100644
--- a/lib/features/radiology/models/resp_models/patient_radiology_response_model.dart
+++ b/lib/features/radiology/models/resp_models/patient_radiology_response_model.dart
@@ -1,3 +1,5 @@
+import 'package:hmg_patient_app_new/core/utils/date_util.dart';
+
 class PatientRadiologyResponseModel {
   String? setupID;
   int? projectID;
@@ -6,7 +8,7 @@ class PatientRadiologyResponseModel {
   int? invoiceNo;
   int? doctorID;
   int? clinicID;
-  String? orderDate;
+  DateTime? orderDate;
   String? reportData;
   String? imageURL;
   String? procedureID;
@@ -120,7 +122,7 @@ class PatientRadiologyResponseModel {
     invoiceNo = json['InvoiceNo'];
     doctorID = json['DoctorID'];
     clinicID = json['ClinicID'];
-    orderDate = json['OrderDate'];
+    orderDate = DateUtil.convertStringToDate(json['OrderDate']);
     reportData = json['ReportData'];
     imageURL = json['ImageURL'];
     procedureID = json['ProcedureID'];
diff --git a/lib/features/radiology/radiology_repo.dart b/lib/features/radiology/radiology_repo.dart
index 9db803d..0a44428 100644
--- a/lib/features/radiology/radiology_repo.dart
+++ b/lib/features/radiology/radiology_repo.dart
@@ -3,11 +3,17 @@ import 'package:hmg_patient_app_new/core/api/api_client.dart';
 import 'package:hmg_patient_app_new/core/api_consts.dart';
 import 'package:hmg_patient_app_new/core/common_models/generic_api_model.dart';
 import 'package:hmg_patient_app_new/core/exceptions/api_failure.dart';
+import 'package:hmg_patient_app_new/core/utils/utils.dart';
+import 'package:hmg_patient_app_new/features/authentication/models/resp_models/authenticated_user_resp_model.dart';
 import 'package:hmg_patient_app_new/features/radiology/models/resp_models/patient_radiology_response_model.dart';
 import 'package:hmg_patient_app_new/services/logger_service.dart';
 
 abstract class RadiologyRepo {
   Future>>> getPatientRadiologyOrders({required String patientId});
+
+  Future>> getRadiologyImage({required PatientRadiologyResponseModel patientRadiologyResponseModel});
+
+  Future>> getRadiologyReportPDF({required PatientRadiologyResponseModel patientRadiologyResponseModel, required AuthenticatedUser authenticatedUser});
 }
 
 class RadiologyRepoImp implements RadiologyRepo {
@@ -58,4 +64,99 @@ class RadiologyRepoImp implements RadiologyRepo {
       return Left(UnknownFailure(e.toString()));
     }
   }
+
+  @override
+  Future>> getRadiologyImage({required PatientRadiologyResponseModel patientRadiologyResponseModel}) async {
+    Map mapDevice = {
+      "InvoiceNo": Utils.isVidaPlusProject(patientRadiologyResponseModel.projectID!) ? "0" : patientRadiologyResponseModel.invoiceNo,
+      "InvoiceNo_VP": Utils.isVidaPlusProject(patientRadiologyResponseModel.projectID!) ? patientRadiologyResponseModel.invoiceNo : "0",
+      "LineItemNo": patientRadiologyResponseModel.invoiceLineItemNo,
+      "ProjectID": patientRadiologyResponseModel.projectID!,
+      "InvoiceType": patientRadiologyResponseModel.invoiceType!,
+      "ExamId": patientRadiologyResponseModel.examId ?? "",
+    };
+
+    try {
+      GenericApiModel? apiResponse;
+      Failure? failure;
+      await apiClient.post(
+        GET_RAD_IMAGE_URL,
+        body: mapDevice,
+        onFailure: (error, statusCode, {messageStatus, failureType}) {
+          failure = failureType;
+        },
+        onSuccess: (response, statusCode, {messageStatus, errorMessage}) {
+          try {
+            apiResponse = GenericApiModel(
+              messageStatus: messageStatus,
+              statusCode: statusCode,
+              errorMessage: null,
+              data: response["Data"],
+            );
+          } catch (e) {
+            failure = DataParsingFailure(e.toString());
+          }
+        },
+      );
+      if (failure != null) return Left(failure!);
+      if (apiResponse == null) return Left(ServerFailure("Unknown error"));
+      return Right(apiResponse!);
+    } catch (e) {
+      return Left(UnknownFailure(e.toString()));
+    }
+  }
+
+  @override
+  Future>> getRadiologyReportPDF({required PatientRadiologyResponseModel patientRadiologyResponseModel, required AuthenticatedUser authenticatedUser}) async {
+    Map mapDevice = {
+      "InvoiceNo": Utils.isVidaPlusProject(patientRadiologyResponseModel.projectID!) ? 0 : patientRadiologyResponseModel.invoiceNo,
+      "InvoiceNo_VP": Utils.isVidaPlusProject(patientRadiologyResponseModel.projectID!) ? patientRadiologyResponseModel.invoiceNo : 0,
+      "LineItemNo": patientRadiologyResponseModel.invoiceLineItemNo,
+      "InvoiceLineItemNo": patientRadiologyResponseModel.invoiceLineItemNo,
+      "ProjectID": patientRadiologyResponseModel.projectID!,
+      "InvoiceType": patientRadiologyResponseModel.invoiceType!,
+      "SetupID": patientRadiologyResponseModel.setupID!,
+      // "ExamId": patientRadiologyResponseModel.examId ?? "",
+      "IsDownload": true,
+      'ClinicName': patientRadiologyResponseModel.clinicDescription,
+      'DateofBirth': authenticatedUser.dateofBirth,
+      'DoctorName': patientRadiologyResponseModel.doctorName,
+      'OrderDate': '${patientRadiologyResponseModel.orderDate!.year}-${patientRadiologyResponseModel.orderDate!.month}-${patientRadiologyResponseModel.orderDate!.day}',
+      'PatientIditificationNum': authenticatedUser.patientIdentificationNo,
+      'PatientMobileNumber': authenticatedUser.mobileNumber,
+      'PatientName': "${authenticatedUser.firstName!} ${authenticatedUser.lastName!}",
+      'ProjectName': patientRadiologyResponseModel.projectName,
+      'RadResult': patientRadiologyResponseModel.reportData,
+      "To": authenticatedUser.emailAddress
+    };
+
+    try {
+      GenericApiModel? apiResponse;
+      Failure? failure;
+      await apiClient.post(
+        SEND_RAD_REPORT_EMAIL,
+        body: mapDevice,
+        onFailure: (error, statusCode, {messageStatus, failureType}) {
+          failure = failureType;
+        },
+        onSuccess: (response, statusCode, {messageStatus, errorMessage}) {
+          try {
+            apiResponse = GenericApiModel(
+              messageStatus: messageStatus,
+              statusCode: statusCode,
+              errorMessage: null,
+              data: response["Base64Data"],
+            );
+          } catch (e) {
+            failure = DataParsingFailure(e.toString());
+          }
+        },
+      );
+      if (failure != null) return Left(failure!);
+      if (apiResponse == null) return Left(ServerFailure("Unknown error"));
+      return Right(apiResponse!);
+    } catch (e) {
+      return Left(UnknownFailure(e.toString()));
+    }
+  }
 }
diff --git a/lib/features/radiology/radiology_view_model.dart b/lib/features/radiology/radiology_view_model.dart
index 1bdba04..3441881 100644
--- a/lib/features/radiology/radiology_view_model.dart
+++ b/lib/features/radiology/radiology_view_model.dart
@@ -1,4 +1,5 @@
 import 'package:flutter/material.dart';
+import 'package:hmg_patient_app_new/features/authentication/models/resp_models/authenticated_user_resp_model.dart';
 import 'package:hmg_patient_app_new/features/radiology/radiology_repo.dart';
 import 'package:hmg_patient_app_new/services/error_handler_service.dart';
 
@@ -6,17 +7,23 @@ import 'models/resp_models/patient_radiology_response_model.dart';
 
 class RadiologyViewModel extends ChangeNotifier {
   bool isRadiologyOrdersLoading = false;
+  bool isRadiologyPDFReportLoading = false;
 
   RadiologyRepo radiologyRepo;
   ErrorHandlerService errorHandlerService;
 
   List patientRadiologyOrders = [];
 
+  String radiologyImageURL = "";
+  String patientRadiologyReportPDFBase64 = "";
+
   RadiologyViewModel({required this.radiologyRepo, required this.errorHandlerService});
 
   initRadiologyProvider() {
     patientRadiologyOrders.clear();
     isRadiologyOrdersLoading = true;
+    isRadiologyPDFReportLoading = true;
+    radiologyImageURL = "";
     getPatientRadiologyOrders();
     notifyListeners();
   }
@@ -40,4 +47,50 @@ class RadiologyViewModel extends ChangeNotifier {
       },
     );
   }
+
+  Future getRadiologyImage({required PatientRadiologyResponseModel patientRadiologyResponseModel, Function(dynamic)? onSuccess, Function(String)? onError}) async {
+    final result = await radiologyRepo.getRadiologyImage(patientRadiologyResponseModel: patientRadiologyResponseModel);
+
+    result.fold(
+      (failure) async => await errorHandlerService.handleError(failure: failure),
+      (apiResponse) {
+        if (apiResponse.messageStatus == 2) {
+          // dialogService.showErrorDialog(message: apiResponse.errorMessage!, onOkPressed: () {});
+        } else if (apiResponse.messageStatus == 1) {
+          radiologyImageURL = apiResponse.data!;
+          notifyListeners();
+          if (onSuccess != null) {
+            onSuccess(apiResponse);
+          }
+        }
+      },
+    );
+  }
+
+  Future getRadiologyPDF(
+      {required PatientRadiologyResponseModel patientRadiologyResponseModel, required AuthenticatedUser authenticatedUser, Function(dynamic)? onSuccess, Function(String)? onError}) async {
+    final result = await radiologyRepo.getRadiologyReportPDF(patientRadiologyResponseModel: patientRadiologyResponseModel, authenticatedUser: authenticatedUser);
+
+    result.fold(
+      (failure) async => await errorHandlerService.handleError(
+        failure: failure,
+        onOkPressed: () {
+          onError!(failure.message);
+        },
+      ),
+      (apiResponse) {
+        if (apiResponse.messageStatus == 2) {
+          onError!(apiResponse.errorMessage!);
+          // dialogService.showErrorDialog(message: apiResponse.errorMessage!, onOkPressed: () {});
+        } else if (apiResponse.messageStatus == 1) {
+          patientRadiologyReportPDFBase64 = apiResponse.data!;
+          isRadiologyPDFReportLoading = false;
+          notifyListeners();
+          if (onSuccess != null) {
+            onSuccess(apiResponse);
+          }
+        }
+      },
+    );
+  }
 }
diff --git a/lib/presentation/appointments/appointment_details_page.dart b/lib/presentation/appointments/appointment_details_page.dart
index 42ace37..e1c8662 100644
--- a/lib/presentation/appointments/appointment_details_page.dart
+++ b/lib/presentation/appointments/appointment_details_page.dart
@@ -28,6 +28,7 @@ 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/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/shimmer/movies_shimmer_widget.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:maps_launcher/maps_launcher.dart';
@@ -72,7 +73,7 @@ class _AppointmentDetailsPageState extends State {
           Expanded(
             child: CollapsingListView(
               title: "Appointment Details".needTranslation,
-              report: () {},
+              report: AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel) ? () {} : null,
               child: SingleChildScrollView(
                 child: Column(
                   crossAxisAlignment: CrossAxisAlignment.start,
@@ -331,7 +332,7 @@ class _AppointmentDetailsPageState extends State {
                                               ).onPress(() {
                                                 prescriptionVM.setPrescriptionsDetailsLoading();
                                                 Navigator.of(context).push(
-                                                  FadePage(
+                                                  CustomPageRoute(
                                                     page: PrescriptionDetailPage(prescriptionsResponseModel: getPrescriptionRequestModel()),
                                                   ),
                                                 );
@@ -364,7 +365,7 @@ class _AppointmentDetailsPageState extends State {
                                                       onPressed: () {
                                                         Navigator.of(context)
                                                             .push(
-                                                          FadePage(
+                                                          CustomPageRoute(
                                                             page: PrescriptionsListPage(),
                                                           ),
                                                         )
@@ -425,8 +426,8 @@ class _AppointmentDetailsPageState extends State {
                         Row(
                           mainAxisAlignment: MainAxisAlignment.spaceBetween,
                           children: [
-                            LocaleKeys.upcomingPaymentNow.tr(context: context).toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor),
-                            "VAT 15%(${widget.patientAppointmentHistoryResponseModel.patientTaxAmount})".needTranslation.toText14(isBold: true, color: AppColors.greyTextColor),
+                            Expanded(child: LocaleKeys.upcomingPaymentNow.tr(context: context).toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor)),
+                            "VAT 15%(${widget.patientAppointmentHistoryResponseModel.patientTaxAmount})".needTranslation.toText14(isBold: true, color: AppColors.greyTextColor, letterSpacing: -2),
                           ],
                         ),
                         SizedBox(height: 18.h),
@@ -560,7 +561,7 @@ class _AppointmentDetailsPageState extends State {
       case 20:
         myAppointmentsViewModel.setIsPatientAppointmentShareLoading(true);
         Navigator.of(context).push(
-          FadePage(
+          CustomPageRoute(
             page: AppointmentPaymentPage(patientAppointmentHistoryResponseModel: widget.patientAppointmentHistoryResponseModel),
           ),
         );
diff --git a/lib/presentation/appointments/appointment_payment_page.dart b/lib/presentation/appointments/appointment_payment_page.dart
index a617647..4d5fd8f 100644
--- a/lib/presentation/appointments/appointment_payment_page.dart
+++ b/lib/presentation/appointments/appointment_payment_page.dart
@@ -27,6 +27,7 @@ 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/common_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/in_app_browser/InAppBrowser.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/shimmer/movies_shimmer_widget.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
@@ -79,118 +80,116 @@ class _AppointmentPaymentPageState extends State {
               child: CollapsingListView(
                 title: "Appointment Payment".needTranslation,
                 child: SingleChildScrollView(
-                  child: myAppointmentsVM.isAppointmentPatientShareLoading
-                      ? const MoviesShimmerWidget().paddingAll(24.h)
-                      : Column(
-                          crossAxisAlignment: CrossAxisAlignment.start,
+                  child: Column(
+                    crossAxisAlignment: CrossAxisAlignment.start,
+                    children: [
+                      SizedBox(height: 24.h),
+                      Container(
+                        decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+                          color: AppColors.whiteColor,
+                          borderRadius: 20.h,
+                          hasShadow: false,
+                        ),
+                        child: Row(
+                          mainAxisSize: MainAxisSize.max,
                           children: [
-                            SizedBox(height: 24.h),
-                            Container(
-                              decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
-                                color: AppColors.whiteColor,
-                                borderRadius: 20.h,
-                                hasShadow: false,
-                              ),
-                              child: Row(
-                                mainAxisSize: MainAxisSize.max,
-                                children: [
-                                  Column(
-                                    crossAxisAlignment: CrossAxisAlignment.start,
-                                    children: [
-                                      Image.asset(AppAssets.mada, width: 72.h, height: 25.h),
-                                      SizedBox(height: 16.h),
-                                      "Mada".needTranslation.toText16(isBold: true),
-                                    ],
-                                  ),
-                                  SizedBox(width: 8.h),
-                                  const Spacer(),
-                                  Utils.buildSvgWithAssets(
-                                    icon: AppAssets.forward_arrow_icon,
-                                    iconColor: AppColors.blackColor,
-                                    width: 18.h,
-                                    height: 13.h,
-                                    fit: BoxFit.contain,
-                                  ),
-                                ],
-                              ).paddingSymmetrical(16.h, 16.h),
-                            ).paddingSymmetrical(24.h, 0.h).onPress(() {
-                              selectedPaymentMethod = "MADA";
-                              openPaymentURL("mada");
-                            }),
-                            SizedBox(height: 16.h),
-                            Container(
-                              decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
-                                color: AppColors.whiteColor,
-                                borderRadius: 20.h,
-                                hasShadow: false,
-                              ),
-                              child: Row(
-                                mainAxisSize: MainAxisSize.max,
-                                children: [
-                                  Column(
-                                    crossAxisAlignment: CrossAxisAlignment.start,
-                                    children: [
-                                      Row(
-                                        children: [
-                                          Image.asset(AppAssets.visa, width: 50.h, height: 50.h),
-                                          SizedBox(width: 8.h),
-                                          Image.asset(AppAssets.Mastercard, width: 40.h, height: 40.h),
-                                        ],
-                                      ),
-                                      SizedBox(height: 16.h),
-                                      "Visa or Mastercard".needTranslation.toText16(isBold: true),
-                                    ],
-                                  ),
-                                  SizedBox(width: 8.h),
-                                  const Spacer(),
-                                  Utils.buildSvgWithAssets(
-                                    icon: AppAssets.forward_arrow_icon,
-                                    iconColor: AppColors.blackColor,
-                                    width: 18.h,
-                                    height: 13.h,
-                                    fit: BoxFit.contain,
-                                  ),
-                                ],
-                              ).paddingSymmetrical(16.h, 16.h),
-                            ).paddingSymmetrical(24.h, 0.h).onPress(() {
-                              selectedPaymentMethod = "VISA";
-                              openPaymentURL("visa");
-                            }),
-                            SizedBox(height: 16.h),
-                            Container(
-                              decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
-                                color: AppColors.whiteColor,
-                                borderRadius: 20.h,
-                                hasShadow: false,
-                              ),
-                              child: Row(
-                                mainAxisSize: MainAxisSize.max,
-                                children: [
-                                  Column(
-                                    crossAxisAlignment: CrossAxisAlignment.start,
-                                    children: [
-                                      Image.asset(AppAssets.tamara_en, width: 72.h, height: 25.h),
-                                      SizedBox(height: 16.h),
-                                      "Tamara".needTranslation.toText16(isBold: true),
-                                    ],
-                                  ),
-                                  SizedBox(width: 8.h),
-                                  const Spacer(),
-                                  Utils.buildSvgWithAssets(
-                                    icon: AppAssets.forward_arrow_icon,
-                                    iconColor: AppColors.blackColor,
-                                    width: 18.h,
-                                    height: 13.h,
-                                    fit: BoxFit.contain,
-                                  ),
-                                ],
-                              ).paddingSymmetrical(16.h, 16.h),
-                            ).paddingSymmetrical(24.h, 0.h).onPress(() {
-                              selectedPaymentMethod = "TAMARA";
-                              openPaymentURL("tamara");
-                            }),
+                            Column(
+                              crossAxisAlignment: CrossAxisAlignment.start,
+                              children: [
+                                Image.asset(AppAssets.mada, width: 72.h, height: 25.h).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                                SizedBox(height: 16.h),
+                                "Mada".needTranslation.toText16(isBold: true).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                              ],
+                            ),
+                            SizedBox(width: 8.h),
+                            const Spacer(),
+                            Utils.buildSvgWithAssets(
+                              icon: AppAssets.forward_arrow_icon,
+                              iconColor: AppColors.blackColor,
+                              width: 18.h,
+                              height: 13.h,
+                              fit: BoxFit.contain,
+                            ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                          ],
+                        ).paddingSymmetrical(16.h, 16.h),
+                      ).paddingSymmetrical(24.h, 0.h).onPress(() {
+                        selectedPaymentMethod = "MADA";
+                        openPaymentURL("mada");
+                      }),
+                      SizedBox(height: 16.h),
+                      Container(
+                        decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+                          color: AppColors.whiteColor,
+                          borderRadius: 20.h,
+                          hasShadow: false,
+                        ),
+                        child: Row(
+                          mainAxisSize: MainAxisSize.max,
+                          children: [
+                            Column(
+                              crossAxisAlignment: CrossAxisAlignment.start,
+                              children: [
+                                Row(
+                                  children: [
+                                    Image.asset(AppAssets.visa, width: 50.h, height: 50.h),
+                                    SizedBox(width: 8.h),
+                                    Image.asset(AppAssets.Mastercard, width: 40.h, height: 40.h),
+                                  ],
+                                ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                                SizedBox(height: 16.h),
+                                "Visa or Mastercard".needTranslation.toText16(isBold: true).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                              ],
+                            ),
+                            SizedBox(width: 8.h),
+                            const Spacer(),
+                            Utils.buildSvgWithAssets(
+                              icon: AppAssets.forward_arrow_icon,
+                              iconColor: AppColors.blackColor,
+                              width: 18.h,
+                              height: 13.h,
+                              fit: BoxFit.contain,
+                            ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
                           ],
+                        ).paddingSymmetrical(16.h, 16.h),
+                      ).paddingSymmetrical(24.h, 0.h).onPress(() {
+                        selectedPaymentMethod = "VISA";
+                        openPaymentURL("visa");
+                      }),
+                      SizedBox(height: 16.h),
+                      Container(
+                        decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+                          color: AppColors.whiteColor,
+                          borderRadius: 20.h,
+                          hasShadow: false,
                         ),
+                        child: Row(
+                          mainAxisSize: MainAxisSize.max,
+                          children: [
+                            Column(
+                              crossAxisAlignment: CrossAxisAlignment.start,
+                              children: [
+                                Image.asset(AppAssets.tamara_en, width: 72.h, height: 25.h).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                                SizedBox(height: 16.h),
+                                "Tamara".needTranslation.toText16(isBold: true).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                              ],
+                            ),
+                            SizedBox(width: 8.h),
+                            const Spacer(),
+                            Utils.buildSvgWithAssets(
+                              icon: AppAssets.forward_arrow_icon,
+                              iconColor: AppColors.blackColor,
+                              width: 18.h,
+                              height: 13.h,
+                              fit: BoxFit.contain,
+                            ).toShimmer2(isShow: myAppointmentsVM.isAppointmentPatientShareLoading),
+                          ],
+                        ).paddingSymmetrical(16.h, 16.h),
+                      ).paddingSymmetrical(24.h, 0.h).onPress(() {
+                        selectedPaymentMethod = "TAMARA";
+                        openPaymentURL("tamara");
+                      }),
+                    ],
+                  ),
                 ),
               ),
             ),
@@ -204,81 +203,79 @@ class _AppointmentPaymentPageState extends State {
                     ),
                     child: Consumer(builder: (context, payfortVM, child) {
                       //TODO: Need to add loading state & animation for Apple Pay Configuration
-                      return payfortVM.isApplePayConfigurationLoading
-                          ? const MoviesShimmerWidget().paddingAll(16.h)
-                          : Column(
-                              crossAxisAlignment: CrossAxisAlignment.start,
-                              children: [
-                                (myAppointmentsVM.patientAppointmentShareResponseModel!.isCash ?? true)
-                                    ? Container(
-                                        height: 50.h,
-                                        decoration: ShapeDecoration(
-                                          color: AppColors.secondaryLightRedBorderColor,
-                                          shape: SmoothRectangleBorder(
-                                            borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
-                                            smoothness: 1,
-                                          ),
-                                        ),
-                                        child: Row(
-                                          mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                                          children: [
-                                            "Insurance expired or inactive".needTranslation.toText14(color: AppColors.primaryRedColor, weight: FontWeight.w500).paddingSymmetrical(24.h, 0.h),
-                                            CustomButton(
-                                              text: LocaleKeys.updateInsurance.tr(context: context),
-                                              onPressed: () {
-                                                Navigator.of(context).push(
-                                                  FadePage(
-                                                    page: InsuranceHomePage(),
-                                                  ),
-                                                );
-                                              },
-                                              backgroundColor: AppColors.primaryRedColor,
-                                              borderColor: AppColors.secondaryLightRedBorderColor,
-                                              textColor: AppColors.whiteColor,
-                                              fontSize: 10,
-                                              fontWeight: FontWeight.w500,
-                                              borderRadius: 8,
-                                              padding: EdgeInsets.fromLTRB(15, 0, 15, 0),
-                                              height: 30.h,
-                                            ).paddingSymmetrical(24.h, 0.h),
-                                          ],
-                                        ),
-                                      )
-                                    : const SizedBox(),
-                                SizedBox(height: 24.h),
-                                "Total amount to pay".needTranslation.toText18(isBold: true).paddingSymmetrical(24.h, 0.h),
-                                SizedBox(height: 17.h),
-                                Row(
-                                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                                  children: [
-                                    "Total amount to pay".needTranslation.toText14(isBold: true),
-                                    Utils.getPaymentAmountWithSymbol(myAppointmentsVM.patientAppointmentShareResponseModel!.patientShare!.toString().toText16(isBold: true), AppColors.blackColor, 13,
-                                        isSaudiCurrency: true),
-                                  ],
-                                ).paddingSymmetrical(24.h, 0.h),
-                                Row(
-                                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                                  children: [
-                                    "VAT 15%".needTranslation.toText14(isBold: true, color: AppColors.greyTextColor),
-                                    Utils.getPaymentAmountWithSymbol(
-                                        myAppointmentsVM.patientAppointmentShareResponseModel!.patientTaxAmount!.toString().toText14(isBold: true, color: AppColors.greyTextColor),
-                                        AppColors.greyTextColor,
-                                        13,
-                                        isSaudiCurrency: true),
-                                  ],
-                                ).paddingSymmetrical(24.h, 0.h),
-                                SizedBox(height: 17.h),
-                                Row(
-                                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                                  children: [
-                                    "".needTranslation.toText14(isBold: true),
-                                    Utils.getPaymentAmountWithSymbol(
-                                        myAppointmentsVM.patientAppointmentShareResponseModel!.patientShareWithTax!.toString().toText24(isBold: true), AppColors.blackColor, 17,
-                                        isSaudiCurrency: true),
-                                  ],
-                                ).paddingSymmetrical(24.h, 0.h),
-                                //TODO: Add Apple Pay Privileges
-                                Utils.buildSvgWithAssets(
+                      return Column(
+                        crossAxisAlignment: CrossAxisAlignment.start,
+                        children: [
+                          (myAppointmentsVM.patientAppointmentShareResponseModel!.isCash ?? true)
+                              ? Container(
+                                  height: 50.h,
+                                  decoration: ShapeDecoration(
+                                    color: AppColors.secondaryLightRedBorderColor,
+                                    shape: SmoothRectangleBorder(
+                                      borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
+                                      smoothness: 1,
+                                    ),
+                                  ),
+                                  child: Row(
+                                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                                    children: [
+                                      "Insurance expired or inactive".needTranslation.toText14(color: AppColors.primaryRedColor, weight: FontWeight.w500).paddingSymmetrical(24.h, 0.h),
+                                      CustomButton(
+                                        text: LocaleKeys.updateInsurance.tr(context: context),
+                                        onPressed: () {
+                                          Navigator.of(context).push(
+                                            CustomPageRoute(
+                                              page: InsuranceHomePage(),
+                                            ),
+                                          );
+                                        },
+                                        backgroundColor: AppColors.primaryRedColor,
+                                        borderColor: AppColors.secondaryLightRedBorderColor,
+                                        textColor: AppColors.whiteColor,
+                                        fontSize: 10,
+                                        fontWeight: FontWeight.w500,
+                                        borderRadius: 8,
+                                        padding: EdgeInsets.fromLTRB(15, 0, 15, 0),
+                                        height: 30.h,
+                                      ).paddingSymmetrical(24.h, 0.h),
+                                    ],
+                                  ),
+                                )
+                              : const SizedBox(),
+                          SizedBox(height: 24.h),
+                          "Total amount to pay".needTranslation.toText18(isBold: true).paddingSymmetrical(24.h, 0.h),
+                          SizedBox(height: 17.h),
+                          Row(
+                            mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                            children: [
+                              "Total amount to pay".needTranslation.toText14(isBold: true),
+                              Utils.getPaymentAmountWithSymbol(myAppointmentsVM.patientAppointmentShareResponseModel!.patientShare!.toString().toText16(isBold: true), AppColors.blackColor, 13,
+                                  isSaudiCurrency: true),
+                            ],
+                          ).paddingSymmetrical(24.h, 0.h),
+                          Row(
+                            mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                            children: [
+                              "VAT 15%".needTranslation.toText14(isBold: true, color: AppColors.greyTextColor),
+                              Utils.getPaymentAmountWithSymbol(
+                                  myAppointmentsVM.patientAppointmentShareResponseModel!.patientTaxAmount!.toString().toText14(isBold: true, color: AppColors.greyTextColor),
+                                  AppColors.greyTextColor,
+                                  13,
+                                  isSaudiCurrency: true),
+                            ],
+                          ).paddingSymmetrical(24.h, 0.h),
+                          SizedBox(height: 17.h),
+                          Row(
+                            mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                            children: [
+                              "".needTranslation.toText14(isBold: true),
+                              Utils.getPaymentAmountWithSymbol(myAppointmentsVM.patientAppointmentShareResponseModel!.patientShareWithTax!.toString().toText24(isBold: true), AppColors.blackColor, 17,
+                                  isSaudiCurrency: true),
+                            ],
+                          ).paddingSymmetrical(24.h, 0.h),
+                          //TODO: Add Apple Pay Privileges
+                          Platform.isIOS
+                              ? Utils.buildSvgWithAssets(
                                   icon: AppAssets.apple_pay_button,
                                   width: 200.h,
                                   height: 80.h,
@@ -286,10 +283,11 @@ class _AppointmentPaymentPageState extends State {
                                 ).paddingSymmetrical(24.h, 0.h).onPress(() {
                                   // payfortVM.setIsApplePayConfigurationLoading(true);
                                   startApplePay();
-                                }),
-                                SizedBox(height: 12.h),
-                              ],
-                            );
+                                })
+                              : SizedBox(height: 12.h),
+                          SizedBox(height: 12.h),
+                        ],
+                      );
                     }),
                   ),
           ],
@@ -389,12 +387,12 @@ class _AppointmentPaymentPageState extends State {
                                   Navigator.of(context).pop();
                                   Navigator.pushAndRemoveUntil(
                                       context,
-                                      FadePage(
+                                      CustomPageRoute(
                                         page: LandingNavigation(),
                                       ),
                                       (r) => false);
                                   Navigator.of(context).push(
-                                    FadePage(page: MyAppointmentsPage()),
+                                    CustomPageRoute(page: MyAppointmentsPage()),
                                   );
                                 });
                               });
@@ -528,6 +526,7 @@ class _AppointmentPaymentPageState extends State {
         onSucceeded: (successResult) async {
           Navigator.of(context).pop();
           log("successResult: ${successResult.responseMessage.toString()}");
+          selectedPaymentMethod = successResult.paymentOption ?? "VISA";
           checkPaymentStatus();
         },
         // projectId: appo.projectID,
diff --git a/lib/presentation/appointments/my_appointments_page.dart b/lib/presentation/appointments/my_appointments_page.dart
index 5a3205d..5972435 100644
--- a/lib/presentation/appointments/my_appointments_page.dart
+++ b/lib/presentation/appointments/my_appointments_page.dart
@@ -6,6 +6,7 @@ import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
 import 'package:hmg_patient_app_new/core/utils/utils.dart';
 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/my_appointments/models/resp_models/patient_appointment_history_response_model.dart';
 import 'package:hmg_patient_app_new/features/my_appointments/my_appointments_view_model.dart';
 import 'package:hmg_patient_app_new/presentation/appointments/widgets/appointment_card.dart';
 import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart';
@@ -53,7 +54,6 @@ class _MyAppointmentsPageState extends State {
                   CustomTabBarModel(null, "Completed".needTranslation),
                 ],
                 onTabChange: (index) {
-                  print(index);
                   myAppointmentsViewModel.onTabChange(index);
                 },
               ).paddingSymmetrical(24.h, 0.h),
@@ -86,7 +86,15 @@ class _MyAppointmentsPageState extends State {
                       : 1,
               itemBuilder: (context, index) {
                 return myAppointmentsVM.isMyAppointmentsLoading
-                    ? const MoviesShimmerWidget().paddingSymmetrical(24.h, 0.h)
+                    ? Container(
+                        decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.h, hasShadow: true),
+                        child: AppointmentCard(
+                          patientAppointmentHistoryResponseModel: PatientAppointmentHistoryResponseModel(),
+                          myAppointmentsViewModel: myAppointmentsViewModel,
+                          isLoading: true,
+                          isFromHomePage: false,
+                        ),
+                      ).paddingSymmetrical(24.h, 0.h)
                     : myAppointmentsVM.patientAppointmentsHistoryList.isNotEmpty
                         ? AnimationConfiguration.staggeredList(
                             position: index,
@@ -101,6 +109,8 @@ class _MyAppointmentsPageState extends State {
                                   child: AppointmentCard(
                                     patientAppointmentHistoryResponseModel: myAppointmentsVM.patientAppointmentsHistoryList[index],
                                     myAppointmentsViewModel: myAppointmentsViewModel,
+                                    isLoading: false,
+                                    isFromHomePage: false,
                                   ),
                                 ).paddingSymmetrical(24.h, 0.h),
                               ),
diff --git a/lib/presentation/appointments/widgets/appointment_card.dart b/lib/presentation/appointments/widgets/appointment_card.dart
index 815443e..a87012c 100644
--- a/lib/presentation/appointments/widgets/appointment_card.dart
+++ b/lib/presentation/appointments/widgets/appointment_card.dart
@@ -16,14 +16,16 @@ import 'package:hmg_patient_app_new/presentation/appointments/appointment_detail
 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:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
-import 'package:smooth_corner/smooth_corner.dart';
 
 class AppointmentCard extends StatefulWidget {
-  AppointmentCard({super.key, required this.patientAppointmentHistoryResponseModel, required this.myAppointmentsViewModel});
+  AppointmentCard({super.key, required this.patientAppointmentHistoryResponseModel, required this.myAppointmentsViewModel, this.isLoading = false, this.isFromHomePage = false});
 
   PatientAppointmentHistoryResponseModel patientAppointmentHistoryResponseModel;
   MyAppointmentsViewModel myAppointmentsViewModel;
+  bool isLoading;
+  bool isFromHomePage;
 
   @override
   State createState() => _AppointmentCardState();
@@ -37,7 +39,7 @@ class _AppointmentCardState extends State {
       onTap: () {
         Navigator.of(context)
             .push(
-          FadePage(
+          CustomPageRoute(
             page: AppointmentDetailsPage(patientAppointmentHistoryResponseModel: widget.patientAppointmentHistoryResponseModel),
           ),
         )
@@ -65,9 +67,11 @@ class _AppointmentCardState extends State {
                         mainAxisSize: MainAxisSize.min,
                         children: [
                           CustomButton(
-                            text: appState.isArabic()
-                                ? widget.patientAppointmentHistoryResponseModel.isInOutPatientDescriptionN!
-                                : widget.patientAppointmentHistoryResponseModel.isInOutPatientDescription!,
+                            text: widget.isLoading
+                                ? "OutPatient"
+                                : appState.isArabic()
+                                    ? widget.patientAppointmentHistoryResponseModel.isInOutPatientDescriptionN!
+                                    : widget.patientAppointmentHistoryResponseModel.isInOutPatientDescription!,
                             onPressed: () {},
                             backgroundColor: AppColors.primaryRedColor.withOpacity(0.1),
                             borderColor: AppColors.primaryRedColor.withOpacity(0.0),
@@ -84,7 +88,7 @@ class _AppointmentCardState extends State {
                         mainAxisSize: MainAxisSize.min,
                         children: [
                           CustomButton(
-                            text: AppointmentType.getAppointmentStatusType(widget.patientAppointmentHistoryResponseModel.patientStatusType!),
+                            text: widget.isLoading ? "Booked" : AppointmentType.getAppointmentStatusType(widget.patientAppointmentHistoryResponseModel.patientStatusType!),
                             onPressed: () {},
                             backgroundColor: AppColors.successColor.withOpacity(0.1),
                             borderColor: AppColors.successColor.withOpacity(0.0),
@@ -98,11 +102,11 @@ class _AppointmentCardState extends State {
                         ],
                       ),
                     ],
-                  ),
+                  ).toShimmer2(isShow: widget.isLoading),
                 ),
                 // TODO: Implement the logic to enable/disable the switch based on reminder status
                 AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel)
-                    ? SizedBox()
+                    ? SizedBox().toShimmer2(isShow: widget.isLoading)
                     : Switch(
                         activeColor: AppColors.successColor,
                         activeTrackColor: AppColors.successColor.withValues(alpha: .15),
@@ -114,13 +118,13 @@ class _AppointmentCardState extends State {
                             return const Icon(Icons.close); // Icon when switch is OFF
                           },
                         ),
-                        value: widget.patientAppointmentHistoryResponseModel.hasReminder!,
+                        value: widget.isLoading ? false : widget.patientAppointmentHistoryResponseModel.hasReminder!,
                         onChanged: (newValue) {
                           setState(() {
                             widget.myAppointmentsViewModel.setAppointmentReminder(newValue, widget.patientAppointmentHistoryResponseModel);
                           });
                         },
-                      ),
+                      ).toShimmer2(isShow: widget.isLoading),
               ],
             ),
             SizedBox(height: 16.h),
@@ -128,30 +132,38 @@ class _AppointmentCardState extends State {
               crossAxisAlignment: CrossAxisAlignment.start,
               children: [
                 Image.network(
-                  widget.patientAppointmentHistoryResponseModel.doctorImageURL!,
+                  widget.isLoading ? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png" : widget.patientAppointmentHistoryResponseModel.doctorImageURL!,
                   width: 63.h,
                   height: 63.h,
                   fit: BoxFit.fill,
-                ).circle(100),
+                ).circle(100).toShimmer2(isShow: widget.isLoading),
                 SizedBox(width: 16.h),
                 Expanded(
                   child: Column(
                     crossAxisAlignment: CrossAxisAlignment.start,
                     children: [
-                      widget.patientAppointmentHistoryResponseModel.doctorNameObj!.toText16(isBold: true),
+                      (widget.isLoading ? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png" : widget.patientAppointmentHistoryResponseModel.doctorNameObj!)
+                          .toText16(isBold: true)
+                          .toShimmer2(isShow: widget.isLoading),
+                      SizedBox(height: 8.h),
                       Wrap(
                         direction: Axis.horizontal,
                         spacing: 3.h,
                         runSpacing: 4.h,
                         children: [
-                          AppCustomChipWidget(labelText: widget.patientAppointmentHistoryResponseModel.clinicName!),
-                          AppCustomChipWidget(labelText: widget.patientAppointmentHistoryResponseModel.projectName!),
+                          widget.isFromHomePage ? SizedBox.shrink() : AppCustomChipWidget(labelText: widget.isLoading ? "Cardiology" : widget.patientAppointmentHistoryResponseModel.clinicName!).toShimmer2(isShow: widget.isLoading),
+                          widget.isFromHomePage ? SizedBox.shrink() : AppCustomChipWidget(labelText: widget.isLoading ? "Olaya" : widget.patientAppointmentHistoryResponseModel.projectName!).toShimmer2(isShow: widget.isLoading),
                           AppCustomChipWidget(
-                              icon: AppAssets.appointment_calendar_icon,
-                              labelText: DateUtil.formatDateToDate(DateUtil.convertStringToDate(widget.patientAppointmentHistoryResponseModel.appointmentDate), false)),
+                                  icon: AppAssets.appointment_calendar_icon,
+                                  labelText:
+                                      widget.isLoading ? "Cardiology" : DateUtil.formatDateToDate(DateUtil.convertStringToDate(widget.patientAppointmentHistoryResponseModel.appointmentDate), false))
+                              .toShimmer2(isShow: widget.isLoading),
                           AppCustomChipWidget(
-                              icon: AppAssets.appointment_time_icon,
-                              labelText: DateUtil.formatDateToTimeLang(DateUtil.convertStringToDate(widget.patientAppointmentHistoryResponseModel.appointmentDate), false)),
+                                  icon: AppAssets.appointment_time_icon,
+                                  labelText: widget.isLoading
+                                      ? "Cardiology"
+                                      : DateUtil.formatDateToTimeLang(DateUtil.convertStringToDate(widget.patientAppointmentHistoryResponseModel.appointmentDate), false))
+                              .toShimmer2(isShow: widget.isLoading),
                         ],
                       ),
                     ],
@@ -165,12 +177,12 @@ class _AppointmentCardState extends State {
                 Expanded(
                   flex: 6,
                   child: AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel)
-                      ? getArrivedAppointmentButton()
+                      ? getArrivedAppointmentButton().toShimmer2(isShow: widget.isLoading)
                       : CustomButton(
                           text: AppointmentType.getNextActionText(widget.patientAppointmentHistoryResponseModel.nextAction),
                           onPressed: () {
                             Navigator.of(context)
-                                .push(FadePage(
+                                .push(CustomPageRoute(
                               page: AppointmentDetailsPage(patientAppointmentHistoryResponseModel: widget.patientAppointmentHistoryResponseModel),
                             ))
                                 .then((val) {
@@ -188,8 +200,8 @@ class _AppointmentCardState extends State {
                           height: 40.h,
                           icon: AppointmentType.getNextActionIcon(widget.patientAppointmentHistoryResponseModel.nextAction),
                           iconColor: AppointmentType.getNextActionTextColor(widget.patientAppointmentHistoryResponseModel.nextAction),
-                          iconSize: 14.h,
-                        ),
+                          iconSize: 15.h,
+                        ).toShimmer2(isShow: widget.isLoading),
                 ),
                 SizedBox(width: 8.h),
                 Expanded(
@@ -210,10 +222,10 @@ class _AppointmentCardState extends State {
                         fit: BoxFit.contain,
                       ),
                     ),
-                  ).onPress(() {
+                  ).toShimmer2(isShow: widget.isLoading).onPress(() {
                     Navigator.of(context)
                         .push(
-                      FadePage(
+                      CustomPageRoute(
                         page: AppointmentDetailsPage(patientAppointmentHistoryResponseModel: widget.patientAppointmentHistoryResponseModel),
                       ),
                     )
diff --git a/lib/presentation/appointments/widgets/appointment_checkin_bottom_sheet.dart b/lib/presentation/appointments/widgets/appointment_checkin_bottom_sheet.dart
index b701f69..b67ab7c 100644
--- a/lib/presentation/appointments/widgets/appointment_checkin_bottom_sheet.dart
+++ b/lib/presentation/appointments/widgets/appointment_checkin_bottom_sheet.dart
@@ -19,6 +19,7 @@ import 'package:hmg_patient_app_new/theme/colors.dart';
 import 'package:barcode_scan2/barcode_scan2.dart';
 import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/nfc/nfc_reader_sheet.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 
 class AppointmentCheckinBottomSheet extends StatelessWidget {
@@ -110,12 +111,14 @@ class AppointmentCheckinBottomSheet extends StatelessWidget {
           Row(
             mainAxisAlignment: MainAxisAlignment.spaceBetween,
             children: [
-              Column(
-                crossAxisAlignment: CrossAxisAlignment.start,
-                children: [
-                  title.toText16(isBold: true, color: AppColors.textColor),
-                  subTitle.toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor),
-                ],
+              Expanded(
+                child: Column(
+                  crossAxisAlignment: CrossAxisAlignment.start,
+                  children: [
+                    title.toText16(isBold: true, color: AppColors.textColor),
+                    subTitle.toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor),
+                  ],
+                ),
               ),
               Utils.buildSvgWithAssets(
                 icon: AppAssets.forward_arrow_icon,
@@ -144,12 +147,12 @@ class AppointmentCheckinBottomSheet extends StatelessWidget {
           Navigator.of(context).pop();
           Navigator.pushAndRemoveUntil(
               context,
-              FadePage(
+              CustomPageRoute(
                 page: LandingNavigation(),
               ),
               (r) => false);
           Navigator.of(context).push(
-            FadePage(page: MyAppointmentsPage()),
+            CustomPageRoute(page: MyAppointmentsPage()),
           );
         }, isFullScreen: false);
       },
diff --git a/lib/presentation/authentication/register_step2.dart b/lib/presentation/authentication/register_step2.dart
index 8dbe8e8..d58c7b3 100644
--- a/lib/presentation/authentication/register_step2.dart
+++ b/lib/presentation/authentication/register_step2.dart
@@ -43,7 +43,9 @@ class _RegisterNew extends State {
   @override
   Widget build(BuildContext context) {
     AppState appState = getIt.get();
-    var name = appState.getLanguageCode() == "en"
+
+    // TODO: to be checked with yakeen data
+    var name = authVM!.isUserFromUAE() ? "" : appState.getLanguageCode() == "en"
         ? ("${appState.getNHICUserData.firstNameEn!.toUpperCase()} ${appState.getNHICUserData.lastNameEn!.toUpperCase()}")
         : ("${appState.getNHICUserData.firstNameAr!.toUpperCase()} ${appState.getNHICUserData.lastNameAr!.toUpperCase()}");
     return Scaffold(
diff --git a/lib/presentation/authentication/saved_login_screen.dart b/lib/presentation/authentication/saved_login_screen.dart
index 073ff8b..44918ed 100644
--- a/lib/presentation/authentication/saved_login_screen.dart
+++ b/lib/presentation/authentication/saved_login_screen.dart
@@ -65,7 +65,7 @@ class _SavedLogin extends State {
       body: SafeArea(
         child: Padding(
           padding: EdgeInsets.symmetric(horizontal: 24.h),
-          child: Column(
+          child: appState.getSelectDeviceByImeiRespModelElement != null ? Column(
             crossAxisAlignment: CrossAxisAlignment.center,
             children: [
               const Spacer(flex: 2),
@@ -297,7 +297,7 @@ class _SavedLogin extends State {
               ),
               const SizedBox(height: 20),
             ],
-          ),
+          ) : SizedBox.shrink(),
         ),
       ),
     );
diff --git a/lib/presentation/book_appointment/book_appointment_page.dart b/lib/presentation/book_appointment/book_appointment_page.dart
index f0dee1e..f2430cb 100644
--- a/lib/presentation/book_appointment/book_appointment_page.dart
+++ b/lib/presentation/book_appointment/book_appointment_page.dart
@@ -14,15 +14,14 @@ import 'package:hmg_patient_app_new/features/my_appointments/appointment_via_reg
 import 'package:hmg_patient_app_new/features/my_appointments/models/resp_models/doctor_list_api_response.dart';
 import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
 import 'package:hmg_patient_app_new/presentation/appointments/widgets/faculity_selection/facility_type_selection_widget.dart';
-import 'package:hmg_patient_app_new/presentation/appointments/widgets/region_bottomsheet/region_list_widget.dart'
-    show RegionBottomSheetBody;
+import 'package:hmg_patient_app_new/presentation/appointments/widgets/region_bottomsheet/region_list_widget.dart' show RegionBottomSheetBody;
 import 'package:hmg_patient_app_new/presentation/book_appointment/search_doctor_by_name.dart';
 import 'package:hmg_patient_app_new/presentation/book_appointment/select_clinic_page.dart';
 import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart';
 import 'package:hmg_patient_app_new/theme/colors.dart';
-import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart'
-    show showCommonBottomSheetWithoutHeight;
+import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart' show showCommonBottomSheetWithoutHeight;
 import 'package:hmg_patient_app_new/widgets/custom_tab_bar.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
 
@@ -53,13 +52,12 @@ class _BookAppointmentPageState extends State {
   Widget build(BuildContext context) {
     bookAppointmentsViewModel = Provider.of(context, listen: false);
     appState = getIt.get();
-    regionalViewModel =
-        Provider.of(context, listen: true);
+    regionalViewModel = Provider.of(context, listen: true);
     return Scaffold(
       backgroundColor: AppColors.bgScaffoldColor,
       body: CollapsingListView(
         title: LocaleKeys.bookAppo.tr(context: context),
-        isLeading: false,
+        isLeading: Navigator.canPop(context),
         child: SingleChildScrollView(
           child: Consumer(builder: (context, bookAppointmentsVM, child) {
             return Column(
@@ -126,7 +124,7 @@ class _BookAppointmentPageState extends State {
                       bookAppointmentsViewModel.setLoadSpecificClinic(false);
                       bookAppointmentsViewModel.setProjectID(null);
                       Navigator.of(context).push(
-                        FadePage(
+                        CustomPageRoute(
                           page: SelectClinicPage(),
                         ),
                       );
@@ -155,7 +153,7 @@ class _BookAppointmentPageState extends State {
                     ).onPress(() {
                       bookAppointmentsViewModel.setIsDoctorSearchByNameStarted(false);
                       Navigator.of(context).push(
-                        FadePage(
+                        CustomPageRoute(
                           page: SearchDoctorByName(),
                         ),
                       );
@@ -199,24 +197,21 @@ class _BookAppointmentPageState extends State {
   void openRegionListBottomSheet(BuildContext context) {
     regionalViewModel.flush();
     // AppointmentViaRegionViewmodel? viewmodel = null;
-    showCommonBottomSheetWithoutHeight(context,
-        title: "",
-        titleWidget: Consumer(
-            builder: (_, data, __) => getTitle(data)),
-        isDismissible: false,
+    showCommonBottomSheetWithoutHeight(context, title: "", titleWidget: Consumer(builder: (_, data, __) => getTitle(data)), isDismissible: false,
         child: Consumer(builder: (_, data, __) {
       return getRegionalSelectionWidget(data);
-    }), callBackFunc: () {
-    });
+    }), callBackFunc: () {});
   }
 
   Widget getRegionalSelectionWidget(AppointmentViaRegionViewmodel data) {
     if (data.bottomSheetState == AppointmentViaRegionState.REGION_SELECTION) {
       return RegionBottomSheetBody();
     }
-    if(data.bottomSheetState == AppointmentViaRegionState.TYPE_SELECTION){
+    if (data.bottomSheetState == AppointmentViaRegionState.TYPE_SELECTION) {
       bookAppointmentsViewModel.resetFilterList();
-      return FacilityTypeSelectionWidget(selectedRegion: data.selectedRegionId??"",);
+      return FacilityTypeSelectionWidget(
+        selectedRegion: data.selectedRegionId ?? "",
+      );
     }
     if (data.bottomSheetState == AppointmentViaRegionState.HOSPITAL_SELECTION) {
       return HospitalBottomSheetBody();
@@ -226,9 +221,7 @@ class _BookAppointmentPageState extends State {
       bookAppointmentsViewModel.setIsClinicsListLoading(true);
       bookAppointmentsViewModel.setLoadSpecificClinic(true);
       bookAppointmentsViewModel.setProjectID(regionalViewModel.selectedHospital?.hospitalList.first?.mainProjectID.toString());
-
-    }
-    else {
+    } else {
       SizedBox.shrink();
     }
     return SizedBox.shrink();
@@ -238,9 +231,7 @@ class _BookAppointmentPageState extends State {
     if (data.selectedRegionId == null) {
       return LocaleKeys.selectRegion.tr().toText20(weight: FontWeight.w600);
     } else {
-      return Utils.buildSvgWithAssets(
-              icon: AppAssets.arrow_back, iconColor: Color(0xff2B353E))
-          .onPress(() {
+      return Utils.buildSvgWithAssets(icon: AppAssets.arrow_back, iconColor: Color(0xff2B353E)).onPress(() {
         data.handleBackPress();
       });
     }
diff --git a/lib/presentation/book_appointment/review_appointment_page.dart b/lib/presentation/book_appointment/review_appointment_page.dart
index bd43a9f..d3804d8 100644
--- a/lib/presentation/book_appointment/review_appointment_page.dart
+++ b/lib/presentation/book_appointment/review_appointment_page.dart
@@ -16,6 +16,7 @@ import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.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/chip/app_custom_chip_widget.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
 
@@ -214,7 +215,7 @@ class _ReviewAppointmentPageState extends State {
           LoadingUtils.hideFullScreenLoader();
           Navigator.pushAndRemoveUntil(
               context,
-              FadePage(
+              CustomPageRoute(
                 page: LandingNavigation(),
               ),
               (r) => false);
diff --git a/lib/presentation/book_appointment/search_doctor_by_name.dart b/lib/presentation/book_appointment/search_doctor_by_name.dart
index 23c5c18..e6b0ba1 100644
--- a/lib/presentation/book_appointment/search_doctor_by_name.dart
+++ b/lib/presentation/book_appointment/search_doctor_by_name.dart
@@ -18,6 +18,7 @@ import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
 import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/input_widget.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/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
 
@@ -122,7 +123,7 @@ class _SearchDoctorByNameState extends State {
                                                       await bookAppointmentsVM.getDoctorProfile(onSuccess: (dynamic respData) {
                                                         LoaderBottomSheet.hideLoader();
                                                         Navigator.of(context).push(
-                                                          FadePage(
+                                                          CustomPageRoute(
                                                             page: DoctorProfilePage(),
                                                           ),
                                                         );
diff --git a/lib/presentation/book_appointment/select_clinic_page.dart b/lib/presentation/book_appointment/select_clinic_page.dart
index 214d4ad..0580480 100644
--- a/lib/presentation/book_appointment/select_clinic_page.dart
+++ b/lib/presentation/book_appointment/select_clinic_page.dart
@@ -19,6 +19,7 @@ import 'package:hmg_patient_app_new/presentation/book_appointment/widgets/clinic
 import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart';
 import 'package:hmg_patient_app_new/theme/colors.dart';
 import 'package:hmg_patient_app_new/widgets/input_widget.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
 
@@ -141,13 +142,13 @@ class _SelectClinicPageState extends State {
     bookAppointmentsViewModel.setIsDoctorsListLoading(true);
     if (clinic.isLiveCareClinicAndOnline ?? false) {
       Navigator.of(context).push(
-        FadePage(
+        CustomPageRoute(
           page: SelectLivecareClinicPage(),
         ),
       );
     } else {
       Navigator.of(context).push(
-        FadePage(
+        CustomPageRoute(
           page: SelectDoctorPage(),
         ),
       );
diff --git a/lib/presentation/book_appointment/select_doctor_page.dart b/lib/presentation/book_appointment/select_doctor_page.dart
index 43449e4..27a60f6 100644
--- a/lib/presentation/book_appointment/select_doctor_page.dart
+++ b/lib/presentation/book_appointment/select_doctor_page.dart
@@ -20,6 +20,7 @@ import 'package:hmg_patient_app_new/theme/colors.dart';
 import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/input_widget.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/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
 
@@ -124,7 +125,7 @@ class _SelectDoctorPageState extends State {
                                       await bookAppointmentsVM.getDoctorProfile(onSuccess: (dynamic respData) {
                                         LoaderBottomSheet.hideLoader();
                                         Navigator.of(context).push(
-                                          FadePage(
+                                          CustomPageRoute(
                                             page: DoctorProfilePage(),
                                           ),
                                         );
diff --git a/lib/presentation/book_appointment/select_livecare_clinic_page.dart b/lib/presentation/book_appointment/select_livecare_clinic_page.dart
index ef682c3..76d85af 100644
--- a/lib/presentation/book_appointment/select_livecare_clinic_page.dart
+++ b/lib/presentation/book_appointment/select_livecare_clinic_page.dart
@@ -10,6 +10,7 @@ import 'package:hmg_patient_app_new/presentation/book_appointment/select_doctor_
 import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.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/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 
 class SelectLivecareClinicPage extends StatelessWidget {
@@ -122,7 +123,7 @@ class SelectLivecareClinicPage extends StatelessWidget {
                 onPressed: () {
                   Navigator.of(context).pop();
                   Navigator.of(context).push(
-                    FadePage(
+                    CustomPageRoute(
                       page: SelectDoctorPage(),
                     ),
                   );
diff --git a/lib/presentation/book_appointment/widgets/appointment_calendar.dart b/lib/presentation/book_appointment/widgets/appointment_calendar.dart
index c880238..046003a 100644
--- a/lib/presentation/book_appointment/widgets/appointment_calendar.dart
+++ b/lib/presentation/book_appointment/widgets/appointment_calendar.dart
@@ -19,6 +19,7 @@ import 'package:hmg_patient_app_new/presentation/home/navigation_screen.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/common_bottom_sheet.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:lottie/lottie.dart';
 import 'package:provider/provider.dart';
@@ -106,7 +107,7 @@ class _AppointmentCalendarState extends State {
               ),
               view: CalendarView.month,
               todayHighlightColor: Colors.transparent,
-              todayTextStyle: TextStyle(color: AppColors.textColor),
+              todayTextStyle: TextStyle(color: AppColors.textColor, fontWeight: FontWeight.bold),
               selectionDecoration: ShapeDecoration(
                 color: AppColors.transparent,
                 shape: SmoothRectangleBorder(
@@ -151,8 +152,8 @@ class _AppointmentCalendarState extends State {
               child: Wrap(
                 direction: Axis.horizontal,
                 alignment: WrapAlignment.start,
-                spacing: 8.h,
-                runSpacing: 8.h,
+                spacing: 6.h,
+                runSpacing: 6.h,
                 children: List.generate(
                   dayEvents.length, // Generate a large number of items to ensure scrolling
                   (index) => TimeSlotChip(
@@ -177,7 +178,7 @@ class _AppointmentCalendarState extends State {
                 bookAppointmentsViewModel.setSelectedAppointmentDateTime(selectedDate, selectedTime);
                 Navigator.of(context).pop();
                 Navigator.of(context).push(
-                  FadePage(
+                  CustomPageRoute(
                     page: ReviewAppointmentPage(),
                   ),
                 );
@@ -216,7 +217,7 @@ class _AppointmentCalendarState extends State {
                                 Navigator.of(context).pop();
                                 Navigator.pushAndRemoveUntil(
                                     context,
-                                    FadePage(
+                                    CustomPageRoute(
                                       page: LandingNavigation(),
                                     ),
                                     (r) => false);
@@ -320,7 +321,7 @@ class TimeSlotChip extends StatelessWidget {
     return GestureDetector(
       onTap: onTap,
       child: Container(
-        padding: EdgeInsets.symmetric(horizontal: 18.h, vertical: 8.h),
+        padding: EdgeInsets.symmetric(horizontal: 14.h, vertical: 8.h),
         decoration: ShapeDecoration(
           color: AppColors.whiteColor,
           shape: SmoothRectangleBorder(
diff --git a/lib/presentation/habib_wallet/habib_wallet_page.dart b/lib/presentation/habib_wallet/habib_wallet_page.dart
index 1be3e12..6add7bd 100644
--- a/lib/presentation/habib_wallet/habib_wallet_page.dart
+++ b/lib/presentation/habib_wallet/habib_wallet_page.dart
@@ -13,6 +13,7 @@ import 'package:hmg_patient_app_new/presentation/habib_wallet/recharge_wallet_pa
 import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.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/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
 
@@ -84,7 +85,7 @@ class _HabibWalletState extends State {
                       text: "Recharge".needTranslation,
                       onPressed: () {
                         Navigator.of(context).push(
-                          FadePage(
+                          CustomPageRoute(
                             page: RechargeWalletPage(),
                           ),
                         );
diff --git a/lib/presentation/home/data/landing_page_data.dart b/lib/presentation/home/data/landing_page_data.dart
index ad524e3..31b4598 100644
--- a/lib/presentation/home/data/landing_page_data.dart
+++ b/lib/presentation/home/data/landing_page_data.dart
@@ -80,7 +80,7 @@ class LandingPageData {
     ),
     ServiceCardData(
       serviceName: "lab_results",
-      icon: AppAssets.lab_result_icon,
+      icon: AppAssets.home_lab_result_icon,
       title: "My Lab",
       subtitle: "Results",
       backgroundColor: AppColors.whiteColor,
@@ -90,7 +90,7 @@ class LandingPageData {
     ),
     ServiceCardData(
       serviceName: "radiology_results",
-      icon: AppAssets.lab_result_icon,
+      icon: AppAssets.home_lab_result_icon,
       title: "My Radiology",
       subtitle: "Results",
       backgroundColor: AppColors.whiteColor,
diff --git a/lib/presentation/home/landing_page.dart b/lib/presentation/home/landing_page.dart
index 9b1cd26..12bc8f5 100644
--- a/lib/presentation/home/landing_page.dart
+++ b/lib/presentation/home/landing_page.dart
@@ -3,6 +3,7 @@ import 'dart:async';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
+import 'package:flutter_swiper_view/flutter_swiper_view.dart';
 import 'package:get_it/get_it.dart';
 import 'package:hmg_patient_app_new/core/app_assets.dart';
 import 'package:hmg_patient_app_new/core/app_state.dart';
@@ -15,9 +16,12 @@ 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/habib_wallet/habib_wallet_view_model.dart';
+import 'package:hmg_patient_app_new/features/my_appointments/models/resp_models/patient_appointment_history_response_model.dart';
 import 'package:hmg_patient_app_new/features/my_appointments/my_appointments_view_model.dart';
 import 'package:hmg_patient_app_new/features/prescriptions/prescriptions_view_model.dart';
 import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
+import 'package:hmg_patient_app_new/presentation/appointments/my_appointments_page.dart';
+import 'package:hmg_patient_app_new/presentation/appointments/widgets/appointment_card.dart';
 import 'package:hmg_patient_app_new/presentation/authentication/quick_login.dart';
 import 'package:hmg_patient_app_new/presentation/book_appointment/book_appointment_page.dart';
 import 'package:hmg_patient_app_new/presentation/home/data/landing_page_data.dart';
@@ -34,6 +38,7 @@ import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
 import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/custom_tab_bar.dart' show CustomTabBar;
 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/spring_page_route_builder.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
@@ -55,6 +60,8 @@ class _LandingPageState extends State {
   late PrescriptionsViewModel prescriptionsViewModel;
   final CacheService cacheService = GetIt.instance();
 
+  final SwiperController _controller = SwiperController();
+
   @override
   void initState() {
     authVM = context.read();
@@ -123,7 +130,7 @@ class _LandingPageState extends State {
                   children: [
                     Utils.buildSvgWithAssets(icon: AppAssets.bell, height: 20, width: 20).onPress(() {
                       Navigator.of(context).push(
-                        FadePage(
+                        CustomPageRoute(
                           page: MedicalFilePage(),
                           // page: LoginScreen(),
                         ),
@@ -131,7 +138,7 @@ class _LandingPageState extends State {
                     }),
                     Utils.buildSvgWithAssets(icon: AppAssets.search_icon, height: 20, width: 20).onPress(() {
                       Navigator.of(context).push(
-                        FadePage(
+                        CustomPageRoute(
                           page: MedicalFilePage(),
                           // page: LoginScreen(),
                         ),
@@ -139,7 +146,7 @@ class _LandingPageState extends State {
                     }),
                     Utils.buildSvgWithAssets(icon: AppAssets.contact_icon, height: 20, width: 20).onPress(() {
                       Navigator.of(context).push(
-                        FadePage(
+                        CustomPageRoute(
                           page: MedicalFilePage(),
                           // page: LoginScreen(),
                         ),
@@ -152,44 +159,115 @@ class _LandingPageState extends State {
             appState.isAuthenticated
                 ? Column(
                     children: [
-                      Container(
-                        width: double.infinity,
-                        decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
-                          color: AppColors.whiteColor,
-                          borderRadius: 24,
-                        ),
-                        child: Padding(
-                          padding: EdgeInsets.all(12.h),
-                          child: Column(
+                      SizedBox(height: 12.h),
+                      Row(
+                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                        children: [
+                          "Appointments & Visits".toText16(isBold: true),
+                          Row(
                             children: [
-                              Utils.buildSvgWithAssets(icon: AppAssets.home_calendar_icon, width: 32.h, height: 32.h),
-                              SizedBox(height: 12.h),
-                              "You do not have any upcoming appointment. Please book an appointment".toText12(isCenter: true),
-                              SizedBox(height: 12.h),
-                              CustomButton(
-                                text: LocaleKeys.bookAppo.tr(context: context),
-                                onPressed: () {
-                                  Navigator.of(context).push(
-                                    FadePage(
-                                      page: BookAppointmentPage(),
-                                    ),
-                                  );
-                                },
-                                backgroundColor: Color(0xffFEE9EA),
-                                borderColor: Color(0xffFEE9EA),
-                                textColor: Color(0xffED1C2B),
-                                fontSize: 14,
-                                fontWeight: FontWeight.w500,
-                                borderRadius: 12,
-                                padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
-                                height: 40,
-                                icon: AppAssets.add_icon,
-                                iconColor: AppColors.primaryRedColor,
-                              ),
+                              LocaleKeys.viewAll.tr(context: context).toText12(color: AppColors.primaryRedColor),
+                              SizedBox(width: 2.h),
+                              Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 10.h),
                             ],
                           ),
-                        ),
-                      ).paddingSymmetrical(24.h, 0.h),
+                        ],
+                      ).paddingSymmetrical(24.h, 0.h).onPress(() {
+                        Navigator.of(context).push(
+                          CustomPageRoute(
+                            page: MyAppointmentsPage(),
+                          ),
+                        );
+                      }),
+                      SizedBox(height: 12.h),
+                      Consumer(builder: (context, myAppointmentsVM, child) {
+                        return myAppointmentsVM.isMyAppointmentsLoading
+                            ? Container(
+                                decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.h, hasShadow: true),
+                                child: AppointmentCard(
+                                  patientAppointmentHistoryResponseModel: PatientAppointmentHistoryResponseModel(),
+                                  myAppointmentsViewModel: myAppointmentsViewModel,
+                                  isLoading: true,
+                                  isFromHomePage: true,
+                                ),
+                              ).paddingSymmetrical(24.h, 0.h)
+                            : myAppointmentsVM.patientAppointmentsHistoryList.isNotEmpty
+                                ? myAppointmentsVM.patientAppointmentsHistoryList.length == 1
+                                    ? Container(
+                                        decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.h, hasShadow: true),
+                                        child: AppointmentCard(
+                                          patientAppointmentHistoryResponseModel: myAppointmentsVM.patientAppointmentsHistoryList.first,
+                                          myAppointmentsViewModel: myAppointmentsViewModel,
+                                          isLoading: false,
+                                          isFromHomePage: true,
+                                        ),
+                                      ).paddingSymmetrical(24.h, 0.h)
+                                    : Swiper(
+                                        itemCount: myAppointmentsVM.isMyAppointmentsLoading
+                                            ? 3
+                                            : myAppointmentsVM.patientAppointmentsHistoryList.length < 3
+                                                ? myAppointmentsVM.patientAppointmentsHistoryList.length
+                                                : 3,
+                                        layout: SwiperLayout.STACK,
+                                        loop: true,
+                                        itemWidth: MediaQuery.of(context).size.width - 72,
+                                        indicatorLayout: PageIndicatorLayout.COLOR,
+                                        axisDirection: AxisDirection.right,
+                                        controller: _controller,
+                                        itemHeight: 210 + 25,
+                                        pagination: const SwiperPagination(
+                                          alignment: Alignment.bottomCenter,
+                                          margin: EdgeInsets.only(top: 210 + 8 + 24),
+                                          builder: DotSwiperPaginationBuilder(color: Color(0xffD9D9D9), activeColor: AppColors.blackBgColor),
+                                        ),
+                                        itemBuilder: (BuildContext context, int index) {
+                                          return Container(
+                                            decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.h, hasShadow: true),
+                                            child: AppointmentCard(
+                                              patientAppointmentHistoryResponseModel: myAppointmentsVM.patientAppointmentsHistoryList[index],
+                                              myAppointmentsViewModel: myAppointmentsViewModel,
+                                              isLoading: false,
+                                              isFromHomePage: true,
+                                            ),
+                                          );
+                                        },
+                                      )
+                                : Container(
+                                    width: double.infinity,
+                                    decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24, hasShadow: true),
+                                    child: Padding(
+                                      padding: EdgeInsets.all(12.h),
+                                      child: Column(
+                                        children: [
+                                          Utils.buildSvgWithAssets(icon: AppAssets.home_calendar_icon, width: 32.h, height: 32.h),
+                                          SizedBox(height: 12.h),
+                                          "You do not have any upcoming appointment. Please book an appointment".needTranslation.toText12(isCenter: true),
+                                          SizedBox(height: 12.h),
+                                          CustomButton(
+                                            text: LocaleKeys.bookAppo.tr(context: context),
+                                            onPressed: () {
+                                              Navigator.of(context).push(
+                                                CustomPageRoute(
+                                                  page: BookAppointmentPage(),
+                                                ),
+                                              );
+                                            },
+                                            backgroundColor: Color(0xffFEE9EA),
+                                            borderColor: Color(0xffFEE9EA),
+                                            textColor: Color(0xffED1C2B),
+                                            fontSize: 14,
+                                            fontWeight: FontWeight.w500,
+                                            borderRadius: 12,
+                                            padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
+                                            height: 40,
+                                            icon: AppAssets.add_icon,
+                                            iconColor: AppColors.primaryRedColor,
+                                          ),
+                                        ],
+                                      ),
+                                    ),
+                                  ).paddingSymmetrical(24.h, 0.h);
+                      }),
                       SizedBox(height: 12.h),
                       Row(
                         mainAxisAlignment: MainAxisAlignment.spaceBetween,
@@ -205,7 +283,7 @@ class _LandingPageState extends State {
                         ],
                       ).paddingSymmetrical(24.h, 0.h).onPress(() {
                         Navigator.of(context).push(
-                          FadePage(
+                          CustomPageRoute(
                             page: MedicalFilePage(),
                           ),
                         );
diff --git a/lib/presentation/home/widgets/habib_wallet_card.dart b/lib/presentation/home/widgets/habib_wallet_card.dart
index 3509000..6ea4507 100644
--- a/lib/presentation/home/widgets/habib_wallet_card.dart
+++ b/lib/presentation/home/widgets/habib_wallet_card.dart
@@ -8,6 +8,7 @@ import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_mode
 import 'package:hmg_patient_app_new/presentation/habib_wallet/habib_wallet_page.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/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
 
@@ -98,7 +99,7 @@ class HabibWalletCard extends StatelessWidget {
                       ],
                     ).onPress(() {
                       Navigator.of(context).push(
-                        FadePage(
+                        CustomPageRoute(
                           page: HabibWalletPage(),
                         ),
                       );
diff --git a/lib/presentation/home/widgets/small_service_card.dart b/lib/presentation/home/widgets/small_service_card.dart
index 6e1c588..fba96eb 100644
--- a/lib/presentation/home/widgets/small_service_card.dart
+++ b/lib/presentation/home/widgets/small_service_card.dart
@@ -7,6 +7,7 @@ import 'package:hmg_patient_app_new/presentation/insurance/insurance_home_page.d
 import 'package:hmg_patient_app_new/presentation/lab/lab_orders_page.dart';
 import 'package:hmg_patient_app_new/presentation/medical_file/patient_sickleaves_list_page.dart';
 import 'package:hmg_patient_app_new/presentation/prescriptions/prescriptions_list_page.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 
 import '../../../core/utils/utils.dart';
@@ -61,28 +62,28 @@ class SmallServiceCard extends StatelessWidget {
       switch (serviceName) {
         case "lab_results":
           Navigator.of(context).push(
-            FadePage(
+            CustomPageRoute(
               page: LabOrdersPage(),
             ),
           );
           break;
         case "radiology_results":
           Navigator.of(context).push(
-            FadePage(
+            CustomPageRoute(
               page: RadiologyOrdersPage(),
             ),
           );
           break;
         case "prescriptions":
           Navigator.of(context).push(
-            FadePage(
+            CustomPageRoute(
               page: PrescriptionsListPage(),
             ),
           );
           break;
         case "insurance_update":
           Navigator.of(context).push(
-            FadePage(
+            CustomPageRoute(
               page: InsuranceHomePage(),
             ),
           );
@@ -90,7 +91,7 @@ class SmallServiceCard extends StatelessWidget {
 
         case "my_doctors":
           Navigator.of(context).push(
-            FadePage(
+            CustomPageRoute(
               page: MyDoctorsPage(),
             ),
           );
@@ -98,7 +99,7 @@ class SmallServiceCard extends StatelessWidget {
 
         case "sick_leaves":
           Navigator.of(context).push(
-            FadePage(
+            CustomPageRoute(
               page: PatientSickleavesListPage(),
             ),
           );
diff --git a/lib/presentation/medical_file/medical_file_page.dart b/lib/presentation/medical_file/medical_file_page.dart
index acaf622..22de759 100644
--- a/lib/presentation/medical_file/medical_file_page.dart
+++ b/lib/presentation/medical_file/medical_file_page.dart
@@ -40,6 +40,7 @@ import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/custom_tab_bar.dart';
 import 'package:hmg_patient_app_new/widgets/input_widget.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/shimmer/movies_shimmer_widget.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
@@ -314,7 +315,7 @@ class _MedicalFilePageState extends State {
               ],
             ).paddingSymmetrical(24.h, 0.h).onPress(() {
               Navigator.of(context).push(
-                FadePage(
+                CustomPageRoute(
                   page: MyAppointmentsPage(),
                 ),
               );
@@ -415,8 +416,8 @@ class _MedicalFilePageState extends State {
                                             children: [
                                               Image.network(
                                                 prescriptionVM.patientPrescriptionOrders[index].doctorImageURL!,
-                                                width: 63.h,
-                                                height: 63.h,
+                                                width: 40.h,
+                                                height: 40.h,
                                                 fit: BoxFit.fill,
                                               ).circle(100),
                                               SizedBox(width: 16.h),
@@ -441,13 +442,13 @@ class _MedicalFilePageState extends State {
                                                   ],
                                                 ),
                                               ),
-                                              SizedBox(width: 40.h),
+                                              // SizedBox(width: 40.h),
                                               Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon, width: 15.h, height: 15.h, fit: BoxFit.contain, iconColor: AppColors.textColor),
                                             ],
                                           ).onPress(() {
                                             prescriptionVM.setPrescriptionsDetailsLoading();
                                             Navigator.of(context).push(
-                                              FadePage(
+                                              CustomPageRoute(
                                                 page: PrescriptionDetailPage(prescriptionsResponseModel: prescriptionVM.patientPrescriptionOrders[index]),
                                               ),
                                             );
@@ -468,7 +469,7 @@ class _MedicalFilePageState extends State {
                                         text: "All Prescriptions".needTranslation,
                                         onPressed: () {
                                           Navigator.of(context).push(
-                                            FadePage(
+                                            CustomPageRoute(
                                               page: PrescriptionsListPage(),
                                             ),
                                           );
@@ -526,7 +527,7 @@ class _MedicalFilePageState extends State {
                   myAppointmentsViewModel.setIsPatientMyDoctorsLoading(true);
                   myAppointmentsViewModel.getPatientMyDoctors();
                   Navigator.of(context).push(
-                    FadePage(
+                    CustomPageRoute(
                       page: MyDoctorsPage(),
                     ),
                   );
@@ -631,7 +632,7 @@ class _MedicalFilePageState extends State {
                   iconSize: 40.h,
                 ).onPress(() {
                   Navigator.of(context).push(
-                    FadePage(
+                    CustomPageRoute(
                       page: VaccineListPage(),
                     ),
                   );
@@ -673,7 +674,7 @@ class _MedicalFilePageState extends State {
                         iconSize: 36.h)
                     .onPress(() {
                   Navigator.of(context).push(
-                    FadePage(
+                    CustomPageRoute(
                       page: InsuranceHomePage(),
                     ),
                   );
@@ -747,7 +748,7 @@ class _MedicalFilePageState extends State {
                   medicalFileViewModel.setIsPatientMedicalReportsLoading(true);
                   medicalFileViewModel.getPatientMedicalReportList();
                   Navigator.of(context).push(
-                    FadePage(
+                    CustomPageRoute(
                       page: MedicalReportsPage(),
                     ),
                   );
@@ -761,7 +762,7 @@ class _MedicalFilePageState extends State {
                   iconSize: 40.h,
                 ).onPress(() {
                   Navigator.of(context).push(
-                    FadePage(
+                    CustomPageRoute(
                       page: PatientSickleavesListPage(),
                     ),
                   );
diff --git a/lib/presentation/medical_file/widgets/medical_file_appointment_card.dart b/lib/presentation/medical_file/widgets/medical_file_appointment_card.dart
index 6d13ee7..a991ab8 100644
--- a/lib/presentation/medical_file/widgets/medical_file_appointment_card.dart
+++ b/lib/presentation/medical_file/widgets/medical_file_appointment_card.dart
@@ -13,6 +13,7 @@ import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
 import 'package:hmg_patient_app_new/presentation/appointments/appointment_details_page.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/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 
 class MedicalFileAppointmentCard extends StatelessWidget {
@@ -86,7 +87,7 @@ class MedicalFileAppointmentCard extends StatelessWidget {
                                   text: AppointmentType.getNextActionText(patientAppointmentHistoryResponseModel.nextAction),
                                   onPressed: () {
                                     Navigator.of(context)
-                                        .push(FadePage(
+                                        .push(CustomPageRoute(
                                       page: AppointmentDetailsPage(patientAppointmentHistoryResponseModel: patientAppointmentHistoryResponseModel),
                                     ))
                                         .then((val) {
@@ -129,7 +130,7 @@ class MedicalFileAppointmentCard extends StatelessWidget {
                     ).toShimmer2(isShow: myAppointmentsViewModel.isMyAppointmentsLoading).onPress(() {
                       Navigator.of(context)
                           .push(
-                        FadePage(
+                        CustomPageRoute(
                           page: AppointmentDetailsPage(patientAppointmentHistoryResponseModel: patientAppointmentHistoryResponseModel),
                         ),
                       )
diff --git a/lib/presentation/medical_file/widgets/patient_sick_leave_card.dart b/lib/presentation/medical_file/widgets/patient_sick_leave_card.dart
index 438013f..e1999a7 100644
--- a/lib/presentation/medical_file/widgets/patient_sick_leave_card.dart
+++ b/lib/presentation/medical_file/widgets/patient_sick_leave_card.dart
@@ -17,6 +17,7 @@ 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: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/transitions/fade_page.dart';
 import 'package:open_filex/open_filex.dart';
 import 'package:provider/provider.dart';
@@ -147,7 +148,7 @@ class PatientSickLeaveCard extends StatelessWidget {
                     ),
                   ).toShimmer2(isShow: isLoading).onPress(() {
                     Navigator.of(context).push(
-                      FadePage(
+                      CustomPageRoute(
                         page: PatientSickleavesListPage(),
                       ),
                     );
diff --git a/lib/presentation/prescriptions/prescriptions_list_page.dart b/lib/presentation/prescriptions/prescriptions_list_page.dart
index 148afb1..3d246f3 100644
--- a/lib/presentation/prescriptions/prescriptions_list_page.dart
+++ b/lib/presentation/prescriptions/prescriptions_list_page.dart
@@ -15,6 +15,7 @@ import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart';
 import 'package:hmg_patient_app_new/presentation/prescriptions/prescription_detail_page.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/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/shimmer/movies_shimmer_widget.dart';
 import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
 import 'package:provider/provider.dart';
@@ -258,7 +259,7 @@ class _PrescriptionsListPageState extends State {
                                                                   ).onPress(() {
                                                                     model.setPrescriptionsDetailsLoading();
                                                                     Navigator.of(context).push(
-                                                                      FadePage(
+                                                                      CustomPageRoute(
                                                                         page: PrescriptionDetailPage(prescriptionsResponseModel: prescription),
                                                                       ),
                                                                     );
diff --git a/lib/presentation/profile_settings/profile_settings.dart b/lib/presentation/profile_settings/profile_settings.dart
index 832031a..4610361 100644
--- a/lib/presentation/profile_settings/profile_settings.dart
+++ b/lib/presentation/profile_settings/profile_settings.dart
@@ -115,7 +115,7 @@ class _ProfileSettingsState extends State {
                             iconSize: 24.h,
                             iconColor: AppColors.infoColor,
                             textColor: AppColors.infoColor,
-                            text: "Recharge",
+                            text: "Recharge".needTranslation,
                             borderWidth: 0.h,
                             fontWeight: FontWeight.w500,
                             borderColor: Colors.transparent,
diff --git a/lib/presentation/radiology/radiology_orders_page.dart b/lib/presentation/radiology/radiology_orders_page.dart
index 19d0908..c7732a4 100644
--- a/lib/presentation/radiology/radiology_orders_page.dart
+++ b/lib/presentation/radiology/radiology_orders_page.dart
@@ -12,8 +12,11 @@ import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
 import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
 import 'package:hmg_patient_app_new/features/lab/lab_view_model.dart';
 import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart';
+import 'package:hmg_patient_app_new/presentation/radiology/radiology_result_page.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/chip/app_custom_chip_widget.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
 import 'package:hmg_patient_app_new/widgets/shimmer/movies_shimmer_widget.dart';
 import 'package:provider/provider.dart';
 
@@ -49,156 +52,143 @@ class _RadiologyOrdersPageState extends State {
         child: SingleChildScrollView(
           child: Consumer(
             builder: (context, model, child) {
-              return Column(
-                crossAxisAlignment: CrossAxisAlignment.start,
-                children: [
-                  SizedBox(height: 16.h),
-                  // Expandable list
-                  ListView.builder(
-                    shrinkWrap: true,
-                    physics: NeverScrollableScrollPhysics(),
-                    itemCount: model.isRadiologyOrdersLoading ? 5 : model.patientRadiologyOrders.length,
-                    itemBuilder: (context, index) {
-                      final isExpanded = expandedIndex == index;
-                      return model.isRadiologyOrdersLoading
-                          ? const MoviesShimmerWidget()
-                          : AnimationConfiguration.staggeredList(
-                              position: index,
-                              duration: const Duration(milliseconds: 500),
-                              child: SlideAnimation(
-                                verticalOffset: 100.0,
-                                child: FadeInAnimation(
-                                  child: AnimatedContainer(
-                                    duration: Duration(milliseconds: 300),
-                                    curve: Curves.easeInOut,
-                                    margin: EdgeInsets.symmetric(vertical: 8.h),
-                                    decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 20.h, hasShadow: true),
-                                    child: InkWell(
-                                      onTap: () {
-                                        setState(() {
-                                          expandedIndex = isExpanded ? null : index;
-                                        });
-                                      },
-                                      child: Column(
-                                        crossAxisAlignment: CrossAxisAlignment.start,
-                                        children: [
-                                          Padding(
-                                            padding: EdgeInsets.all(16.h),
-                                            child: Column(
-                                              crossAxisAlignment: CrossAxisAlignment.start,
+              return Padding(
+                padding: EdgeInsets.symmetric(horizontal: 24.h),
+                child: Column(
+                  crossAxisAlignment: CrossAxisAlignment.start,
+                  children: [
+                    // Expandable list
+                    ListView.builder(
+                      shrinkWrap: true,
+                      physics: NeverScrollableScrollPhysics(),
+                      itemCount: model.isRadiologyOrdersLoading ? 5 : model.patientRadiologyOrders.length,
+                      itemBuilder: (context, index) {
+                        final isExpanded = expandedIndex == index;
+                        return AnimationConfiguration.staggeredList(
+                          position: index,
+                          duration: const Duration(milliseconds: 500),
+                          child: SlideAnimation(
+                            verticalOffset: 100.0,
+                            child: FadeInAnimation(
+                              child: AnimatedContainer(
+                                duration: Duration(milliseconds: 300),
+                                curve: Curves.easeInOut,
+                                margin: EdgeInsets.symmetric(vertical: 8.h),
+                                decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 20.h, hasShadow: true),
+                                child: InkWell(
+                                  onTap: () {
+                                    setState(() {
+                                      expandedIndex = isExpanded ? null : index;
+                                    });
+                                  },
+                                  child: Column(
+                                    crossAxisAlignment: CrossAxisAlignment.start,
+                                    children: [
+                                      Padding(
+                                        padding: EdgeInsets.all(16.h),
+                                        child: Column(
+                                          crossAxisAlignment: CrossAxisAlignment.start,
+                                          children: [
+                                            AppCustomChipWidget(
+                                              labelText: LocaleKeys.resultsAvailable.tr(context: context),
+                                              backgroundColor: AppColors.successColor.withOpacity(0.15),
+                                              textColor: AppColors.successColor,
+                                            ).toShimmer2(isShow: model.isRadiologyOrdersLoading, width: 100),
+                                            SizedBox(height: 8.h),
+                                            Row(
                                               children: [
-                                                Row(
-                                                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                                                  children: [
-                                                    CustomButton(
-                                                      text: LocaleKeys.resultsAvailable.tr(context: context),
-                                                      onPressed: () {},
-                                                      backgroundColor: AppColors.successColor.withOpacity(0.15),
-                                                      borderColor: AppColors.successColor.withOpacity(0.01),
-                                                      textColor: AppColors.successColor,
-                                                      fontSize: 10,
-                                                      fontWeight: FontWeight.w500,
-                                                      borderRadius: 8,
-                                                      padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
-                                                      height: 30.h,
-                                                    ),
-                                                    Icon(isExpanded ? Icons.expand_less : Icons.expand_more),
-                                                  ],
-                                                ),
-                                                SizedBox(height: 8.h),
-                                                Row(
-                                                  children: [
-                                                    Image.network(
-                                                      model.patientRadiologyOrders[index].doctorImageURL!,
-                                                      width: 24.h,
-                                                      height: 24.h,
-                                                      fit: BoxFit.fill,
-                                                    ).circle(100),
-                                                    SizedBox(width: 4.h),
-                                                    model.patientRadiologyOrders[index].doctorName!.toText16(isBold: true)
-                                                  ],
-                                                ),
-                                                SizedBox(height: 8.h),
-                                                Row(
+                                                Image.network(
+                                                  model.isRadiologyOrdersLoading
+                                                      ? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png"
+                                                      : model.patientRadiologyOrders[index].doctorImageURL!,
+                                                  width: 24.h,
+                                                  height: 24.h,
+                                                  fit: BoxFit.fill,
+                                                ).circle(100).toShimmer2(isShow: model.isRadiologyOrdersLoading),
+                                                SizedBox(width: 4.h),
+                                                (model.isRadiologyOrdersLoading ? "Dr John Smith" : model.patientRadiologyOrders[index].doctorName!)
+                                                    .toText16(isBold: true)
+                                                    .toShimmer2(isShow: model.isRadiologyOrdersLoading)
+                                              ],
+                                            ),
+                                            SizedBox(height: 8.h),
+                                            Wrap(
+                                              direction: Axis.horizontal,
+                                              spacing: 3.h,
+                                              runSpacing: 4.h,
+                                              children: [
+                                                AppCustomChipWidget(
+                                                  icon: AppAssets.doctor_calendar_icon,
+                                                  labelText: model.isRadiologyOrdersLoading ? "01 Jan 2025" : DateUtil.formatDateToDate(model.patientRadiologyOrders[index].orderDate!, false),
+                                                ).toShimmer2(isShow: model.isRadiologyOrdersLoading),
+                                                AppCustomChipWidget(
+                                                  labelText: model.isRadiologyOrdersLoading ? "01 Jan 2025" : model.patientRadiologyOrders[index].clinicDescription!,
+                                                ).toShimmer2(isShow: model.isRadiologyOrdersLoading),
+
+                                                // AppCustomChipWidget(labelText: "").toShimmer2(isShow: model.isRadiologyOrdersLoading, width: 16.h),
+                                                // AppCustomChipWidget(labelText: "").toShimmer2(isShow: model.isRadiologyOrdersLoading, width: 16.h),
+                                              ],
+                                            ),
+                                          ],
+                                        ),
+                                      ),
+                                      model.isRadiologyOrdersLoading
+                                          ? SizedBox.shrink()
+                                          : AnimatedCrossFade(
+                                              firstChild: SizedBox.shrink(),
+                                              secondChild: Padding(
+                                                padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 8.h),
+                                                child: Column(
+                                                  crossAxisAlignment: CrossAxisAlignment.start,
                                                   children: [
-                                                    CustomButton(
-                                                      text: DateUtil.formatDateToDate(DateUtil.convertStringToDate(model.patientRadiologyOrders[index].orderDate), false),
-                                                      onPressed: () {},
-                                                      backgroundColor: AppColors.greyColor,
-                                                      borderColor: AppColors.greyColor,
-                                                      textColor: AppColors.blackColor,
-                                                      fontSize: 12,
-                                                      fontWeight: FontWeight.w500,
-                                                      borderRadius: 8,
-                                                      padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
-                                                      height: 24.h,
+                                                    Padding(
+                                                      padding: EdgeInsets.only(bottom: 8.h),
+                                                      child: '● ${model.patientRadiologyOrders[index].description}'.toText14(weight: FontWeight.w500),
                                                     ),
-                                                    SizedBox(width: 8.h),
-                                                    CustomButton(
-                                                      text: model.patientRadiologyOrders[index].clinicDescription!,
-                                                      onPressed: () {},
-                                                      backgroundColor: AppColors.greyColor,
-                                                      borderColor: AppColors.greyColor,
-                                                      textColor: AppColors.blackColor,
-                                                      fontSize: 12,
-                                                      fontWeight: FontWeight.w500,
-                                                      borderRadius: 8,
-                                                      padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
-                                                      height: 24.h,
+                                                    Row(
+                                                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                                                      children: [
+                                                        SizedBox(),
+                                                        CustomButton(
+                                                          icon: AppAssets.view_report_icon,
+                                                          iconColor: AppColors.primaryRedColor,
+                                                          iconSize: 16.h,
+                                                          text: LocaleKeys.viewReport.tr(context: context),
+                                                          onPressed: () {
+                                                            Navigator.of(context).push(
+                                                              CustomPageRoute(
+                                                                page: RadiologyResultPage(patientRadiologyResponseModel: model.patientRadiologyOrders[index]),
+                                                              ),
+                                                            );
+                                                          },
+                                                          backgroundColor: AppColors.secondaryLightRedColor,
+                                                          borderColor: AppColors.secondaryLightRedColor,
+                                                          textColor: AppColors.primaryRedColor,
+                                                          fontSize: 14,
+                                                          fontWeight: FontWeight.bold,
+                                                          borderRadius: 12,
+                                                          padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
+                                                          height: 40.h,
+                                                        ),
+                                                      ],
                                                     ),
                                                   ],
                                                 ),
-                                              ],
-                                            ),
-                                          ),
-                                          AnimatedCrossFade(
-                                            firstChild: SizedBox.shrink(),
-                                            secondChild: Padding(
-                                              padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 8.h),
-                                              child: Column(
-                                                crossAxisAlignment: CrossAxisAlignment.start,
-                                                children: [
-                                                  Padding(
-                                                    padding: EdgeInsets.only(bottom: 8.h),
-                                                    child: '● ${model.patientRadiologyOrders[index].description}'.toText14(weight: FontWeight.w500),
-                                                  ),
-                                                  Row(
-                                                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                                                    children: [
-                                                      SizedBox(),
-                                                      CustomButton(
-                                                        icon: AppAssets.view_report_icon,
-                                                        iconColor: AppColors.primaryRedColor,
-                                                        iconSize: 16.h,
-                                                        text: LocaleKeys.viewReport.tr(context: context),
-                                                        onPressed: () {},
-                                                        backgroundColor: AppColors.secondaryLightRedColor,
-                                                        borderColor: AppColors.secondaryLightRedColor,
-                                                        textColor: AppColors.primaryRedColor,
-                                                        fontSize: 14,
-                                                        fontWeight: FontWeight.bold,
-                                                        borderRadius: 12,
-                                                        padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
-                                                        height: 40.h,
-                                                      ),
-                                                    ],
-                                                  ),
-                                                ],
                                               ),
+                                              crossFadeState: isExpanded ? CrossFadeState.showSecond : CrossFadeState.showFirst,
+                                              duration: Duration(milliseconds: 300),
                                             ),
-                                            crossFadeState: isExpanded ? CrossFadeState.showSecond : CrossFadeState.showFirst,
-                                            duration: Duration(milliseconds: 300),
-                                          ),
-                                        ],
-                                      ),
-                                    ),
+                                    ],
                                   ),
                                 ),
                               ),
-                            );
-                    },
-                  ),
-                ],
+                            ),
+                          ),
+                        );
+                      },
+                    ),
+                  ],
+                ),
               );
             },
           ),
diff --git a/lib/presentation/radiology/radiology_result_page.dart b/lib/presentation/radiology/radiology_result_page.dart
new file mode 100644
index 0000000..f0f9af4
--- /dev/null
+++ b/lib/presentation/radiology/radiology_result_page.dart
@@ -0,0 +1,162 @@
+import 'dart:async';
+
+import 'package:flutter/material.dart';
+import 'package:hmg_patient_app_new/core/app_assets.dart';
+import 'package:hmg_patient_app_new/core/app_state.dart';
+import 'package:hmg_patient_app_new/core/dependencies.dart';
+import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
+import 'package:hmg_patient_app_new/core/utils/utils.dart';
+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/radiology/models/resp_models/patient_radiology_response_model.dart';
+import 'package:hmg_patient_app_new/features/radiology/radiology_view_model.dart';
+import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
+import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.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/common_bottom_sheet.dart';
+import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
+import 'package:open_filex/open_filex.dart';
+import 'package:provider/provider.dart';
+import 'package:url_launcher/url_launcher.dart';
+
+class RadiologyResultPage extends StatefulWidget {
+  RadiologyResultPage({super.key, required this.patientRadiologyResponseModel});
+
+  PatientRadiologyResponseModel patientRadiologyResponseModel;
+
+  @override
+  State createState() => _RadiologyResultPageState();
+}
+
+class _RadiologyResultPageState extends State {
+  late RadiologyViewModel radiologyViewModel;
+
+  @override
+  void initState() {
+    scheduleMicrotask(() {
+      radiologyViewModel.getRadiologyImage(patientRadiologyResponseModel: widget.patientRadiologyResponseModel);
+    });
+    super.initState();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    radiologyViewModel = Provider.of(context);
+    AppState _appState = getIt.get();
+    return Scaffold(
+      backgroundColor: AppColors.bgScaffoldColor,
+      body: Column(
+        children: [
+          Expanded(
+            child: CollapsingListView(
+              title: "Radiology Result".needTranslation,
+              child: SingleChildScrollView(
+                child: Padding(
+                  padding: EdgeInsets.symmetric(horizontal: 24.h),
+                  child: Column(
+                    crossAxisAlignment: CrossAxisAlignment.start,
+                    children: [
+                      SizedBox(height: 24.h),
+                      Container(
+                        decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+                          color: AppColors.whiteColor,
+                          borderRadius: 20.h,
+                          hasShadow: true,
+                        ),
+                        child: Column(
+                          crossAxisAlignment: CrossAxisAlignment.start,
+                          children: [
+                            SizedBox(height: 16.h),
+                            widget.patientRadiologyResponseModel.description!.toText16(isBold: true),
+                            SizedBox(height: 8.h),
+                            widget.patientRadiologyResponseModel.reportData!.trim().toText12(isBold: true, color: AppColors.textColorLight),
+                            SizedBox(height: 16.h),
+                            CustomButton(
+                              text: "View Radiology Image".needTranslation,
+                              onPressed: () async {
+                                if (radiologyViewModel.radiologyImageURL.isNotEmpty) {
+                                  Uri uri = Uri.parse(radiologyViewModel.radiologyImageURL);
+                                  launchUrl(uri, mode: LaunchMode.platformDefault, webOnlyWindowName: "");
+                                } else {
+                                  Utils.showToast("Radiology image not available".needTranslation);
+                                }
+                              },
+                              backgroundColor: AppColors.primaryRedColor,
+                              borderColor: AppColors.primaryRedColor,
+                              textColor: AppColors.whiteColor,
+                              fontSize: 14,
+                              fontWeight: FontWeight.w500,
+                              borderRadius: 12,
+                              padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
+                              height: 40.h,
+                              icon: AppAssets.download,
+                              iconColor: AppColors.whiteColor,
+                              iconSize: 20.h,
+                            ),
+                            SizedBox(height: 16.h),
+                          ],
+                        ).paddingSymmetrical(16.h, 0.h),
+                      ),
+                      SizedBox(height: 24.h),
+                    ],
+                  ),
+                ),
+              ),
+            ),
+          ),
+          Container(
+            decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+              color: AppColors.whiteColor,
+              borderRadius: 24.h,
+              hasShadow: true,
+            ),
+            child: CustomButton(
+              text: "Download report".needTranslation,
+              onPressed: () async {
+                LoaderBottomSheet.showLoader();
+                await radiologyViewModel.getRadiologyPDF(patientRadiologyResponseModel: widget.patientRadiologyResponseModel, authenticatedUser: _appState.getAuthenticatedUser()!, onError: (err) {
+                  LoaderBottomSheet.hideLoader();
+                  showCommonBottomSheetWithoutHeight(
+                    context,
+                    child: Utils.getErrorWidget(loadingText: err),
+                    callBackFunc: () {},
+                    isFullScreen: false,
+                    isCloseButtonVisible: true,
+                  );
+                }).then((val) async {
+                  LoaderBottomSheet.hideLoader();
+                  if (radiologyViewModel.patientRadiologyReportPDFBase64.isNotEmpty) {
+                    String path = await Utils.createFileFromString(radiologyViewModel.patientRadiologyReportPDFBase64, "pdf");
+                    try {
+                      OpenFilex.open(path);
+                    } catch (ex) {
+                      showCommonBottomSheetWithoutHeight(
+                        context,
+                        child: Utils.getErrorWidget(loadingText: "Cannot open file".needTranslation),
+                        callBackFunc: () {},
+                        isFullScreen: false,
+                        isCloseButtonVisible: true,
+                      );
+                    }
+                  }
+                });
+              },
+              backgroundColor: AppColors.successColor,
+              borderColor: AppColors.successColor,
+              textColor: AppColors.whiteColor,
+              fontSize: 16,
+              fontWeight: FontWeight.w500,
+              borderRadius: 12,
+              padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
+              height: 45.h,
+              icon: AppAssets.download,
+              iconColor: AppColors.whiteColor,
+              iconSize: 20.h,
+            ).paddingSymmetrical(24.h, 24.h),
+          ),
+        ],
+      ),
+    );
+  }
+}
diff --git a/lib/splashPage.dart b/lib/splashPage.dart
index f85f01e..f363bc3 100644
--- a/lib/splashPage.dart
+++ b/lib/splashPage.dart
@@ -21,6 +21,7 @@ import 'package:provider/provider.dart';
 import 'core/cache_consts.dart';
 import 'core/utils/local_notifications.dart';
 import 'core/utils/push_notification_handler.dart';
+import 'widgets/routes/custom_page_route.dart';
 
 class SplashPage extends StatefulWidget {
   @override
@@ -42,7 +43,7 @@ class _SplashScreenState extends State {
     Timer(Duration(seconds: 2, milliseconds: 500), () async {
       LocalNotification.init(onNotificationClick: (payload) {});
       Navigator.of(context).pushReplacement(
-        FadePage(
+        CustomPageRoute(
           page: LandingNavigation(),
           // page: LoginScreen(),
         ),