From 695d6566a19ac000e2eccc9e53f30d5e190fcbfb Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Thu, 30 Apr 2026 12:34:40 +0300 Subject: [PATCH] updates --- .../my_appointments_view_model.dart | 2 +- .../appointment_details_page.dart | 2 +- .../book_appointment_page.dart | 4 +- .../hmg_services/services_page.dart | 2 +- .../medical_file/medical_file_page.dart | 18 ++++--- .../widgets/health_tools_card.dart | 54 +++++++++---------- .../medical_file/widgets/lab_rad_card.dart | 28 ++++++---- .../medical_file_appointment_card.dart | 8 +-- 8 files changed, 61 insertions(+), 57 deletions(-) diff --git a/lib/features/my_appointments/my_appointments_view_model.dart b/lib/features/my_appointments/my_appointments_view_model.dart index 2fda0505..38336a5a 100644 --- a/lib/features/my_appointments/my_appointments_view_model.dart +++ b/lib/features/my_appointments/my_appointments_view_model.dart @@ -1076,11 +1076,11 @@ class MyAppointmentsViewModel extends ChangeNotifier { notifyListeners(); } else if (apiResponse.messageStatus == 1) { appointmentRatedResponseModel = apiResponse.data!; - isAppointmentRatedResponseLoading = false; notifyListeners(); if (onSuccess != null) { onSuccess(apiResponse.data); } + isAppointmentRatedResponseLoading = false; } }, ); diff --git a/lib/presentation/appointments/appointment_details_page.dart b/lib/presentation/appointments/appointment_details_page.dart index 76790af7..c14897d8 100644 --- a/lib/presentation/appointments/appointment_details_page.dart +++ b/lib/presentation/appointments/appointment_details_page.dart @@ -656,7 +656,7 @@ class _AppointmentDetailsPageState extends State { crossAxisCount: 3, crossAxisSpacing: 16.h, mainAxisSpacing: 16.w, - childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.1 : 0.78), + childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98), ), physics: NeverScrollableScrollPhysics(), padding: EdgeInsets.zero, diff --git a/lib/presentation/book_appointment/book_appointment_page.dart b/lib/presentation/book_appointment/book_appointment_page.dart index b5a39c95..240d2215 100644 --- a/lib/presentation/book_appointment/book_appointment_page.dart +++ b/lib/presentation/book_appointment/book_appointment_page.dart @@ -133,7 +133,7 @@ class _BookAppointmentPageState extends State { children: [ Image.network( "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png", - width: 64.w, + width: 64.h, height: 64.h, fit: BoxFit.cover, ).circle(100).toShimmer2(isShow: true, radius: 50.r), @@ -172,7 +172,7 @@ class _BookAppointmentPageState extends State { ), SizedBox(height: 16.h), SizedBox( - height: 110.h, + height: 115.h, child: ListView.separated( scrollDirection: Axis.horizontal, itemCount: myAppointmentsVM.patientMyDoctorsList.length, diff --git a/lib/presentation/hmg_services/services_page.dart b/lib/presentation/hmg_services/services_page.dart index a2c066f0..b2028dd8 100644 --- a/lib/presentation/hmg_services/services_page.dart +++ b/lib/presentation/hmg_services/services_page.dart @@ -475,7 +475,7 @@ class _ServicesPageState extends State { ConstrainedBox( constraints: BoxConstraints( minHeight: 320.h, - maxHeight: isFoldable ? 400.h : (isTablet ? 360.h : 340.h), + maxHeight: isFoldable ? 380.h : (isTablet ? 370.h : 340.h), ), child: ListView.separated( scrollDirection: Axis.horizontal, diff --git a/lib/presentation/medical_file/medical_file_page.dart b/lib/presentation/medical_file/medical_file_page.dart index f4c05a4b..a403dbb1 100644 --- a/lib/presentation/medical_file/medical_file_page.dart +++ b/lib/presentation/medical_file/medical_file_page.dart @@ -418,7 +418,8 @@ class _MedicalFilePageState extends State { return ConstrainedBox( constraints: BoxConstraints( minHeight: 135.h, - maxHeight: isFoldable ? 160.h : (isTablet ? 165.h : 135.h), + maxHeight: 150.h, + // maxHeight: isFoldable ? 150.h : (isTablet ? 140.h : 140.h), ), child: PageView( controller: hmgServicesVM.vitalSignPageController, @@ -628,6 +629,7 @@ class _MedicalFilePageState extends State { crossAxisCount: 3, crossAxisSpacing: 10.h, mainAxisSpacing: 16.w, + childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98), // mainAxisExtent: 120.h, ), physics: NeverScrollableScrollPhysics(), @@ -719,7 +721,7 @@ class _MedicalFilePageState extends State { return ConstrainedBox( constraints: BoxConstraints( minHeight: 150.h, - maxHeight: isFoldable ? 230.h : (isTablet ? 240.h : 180.h), + maxHeight: isFoldable ? 210.h : (isTablet ? 200.h : 180.h), ), child: myAppointmentsVM.isMyAppointmentsLoading ? MedicalFileAppointmentCard( @@ -1173,7 +1175,7 @@ class _MedicalFilePageState extends State { GridView( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, - childAspectRatio: 1, + childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98), crossAxisSpacing: 10.h, ), physics: NeverScrollableScrollPhysics(), @@ -1277,10 +1279,10 @@ class _MedicalFilePageState extends State { context, noDataText: LocaleKeys.youDontHaveAnySickLeavesYet.tr(context: context), isSmallWidget: true, - width: 62.w, + width: 62.h, height: 62.h, ), - ).paddingSymmetrical(0.w, 0.h); + ); }), SizedBox(height: 16.h), Selector { crossAxisCount: 3, crossAxisSpacing: 10.h, mainAxisSpacing: 16.w, + childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98), ), physics: NeverScrollableScrollPhysics(), padding: EdgeInsets.only(top: 12.h), @@ -1625,7 +1628,7 @@ class _MedicalFilePageState extends State { ), child: Utils.buildSvgWithAssets( icon: icon, - width: 22.w, + width: 22.h, height: 22.h, iconColor: scheme.iconFg, fit: BoxFit.contain, @@ -1642,7 +1645,8 @@ class _MedicalFilePageState extends State { icon: getIt.get().isArabic() ? AppAssets.arrow_back : AppAssets.arrow_forward, width: 18.w, height: 18.h), ], ), - SizedBox(height: 14.h), + Spacer(), + // SizedBox(height: 14.h), Container( padding: EdgeInsets.symmetric(horizontal: 6.w, vertical: 6.h), decoration: RoundedRectangleBorder().toSmoothCornerDecoration( diff --git a/lib/presentation/medical_file/widgets/health_tools_card.dart b/lib/presentation/medical_file/widgets/health_tools_card.dart index a66d2471..bd2c6f75 100644 --- a/lib/presentation/medical_file/widgets/health_tools_card.dart +++ b/lib/presentation/medical_file/widgets/health_tools_card.dart @@ -34,39 +34,33 @@ class HealthToolsCard extends StatelessWidget { padding: EdgeInsets.all(12.w), child: Column( crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // Icon container with white background and border - Container( - decoration: RoundedRectangleBorder().toSmoothCornerDecoration( - color: AppColors.whiteColor, - borderRadius: 12.r, - side: BorderSide( - color: AppColors.borderOnlyColor.withValues(alpha: 0.1), - width: 1, - ), - ), - height: 48.w, - width: 48.w, - child: Center( - child: Utils.buildSvgWithAssets( - icon: svgIcon, - width: iconS, - height: iconS, - fit: BoxFit.contain, - applyThemeColor: false, - iconColor: iconColor, - ), - ), + // Icon container with white background and border + Container( + decoration: RoundedRectangleBorder().toSmoothCornerDecoration( + color: AppColors.whiteColor, + borderRadius: 12.r, + side: BorderSide( + color: AppColors.borderOnlyColor.withValues(alpha: 0.1), + width: 1, ), - SizedBox(height: 6.h), - label.toText13(color: textColor, isBold: true, maxLine: 2), - ], + ), + height: 48.h, + width: 48.h, + child: Center( + child: Utils.buildSvgWithAssets( + icon: svgIcon, + width: iconS, + height: iconS, + fit: BoxFit.contain, + applyThemeColor: false, + iconColor: iconColor, + ), + ), ), + SizedBox(height: 6.h), + label.toText13(color: textColor, isBold: true, maxLine: 2), ], ), ); diff --git a/lib/presentation/medical_file/widgets/lab_rad_card.dart b/lib/presentation/medical_file/widgets/lab_rad_card.dart index b107403d..0fcdb24e 100644 --- a/lib/presentation/medical_file/widgets/lab_rad_card.dart +++ b/lib/presentation/medical_file/widgets/lab_rad_card.dart @@ -30,22 +30,28 @@ class LabRadCard extends StatelessWidget { decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 18.r, hasShadow: false), child: Row( mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.max, children: [ - Utils.buildSvgWithAssets( - icon: icon, - width: 40.w, - height: 40.h, - fit: BoxFit.cover, - applyThemeColor: false - ).toShimmer2(isShow: false, radius: 12.r), - SizedBox(width: 8.w), - Flexible( - child: labelText.toText12(isBold: true, maxLine: 2), + Expanded( + child: Row( + children: [ + Utils.buildSvgWithAssets( + icon: icon, + width: 40.w, + height: 40.h, + fit: BoxFit.cover, + applyThemeColor: false + ).toShimmer2(isShow: false, radius: 12.r), + SizedBox(width: 8.w), + Flexible(child: labelText.toText12(isBold: true, maxLine: 2)), + ], + ), ), + SizedBox(width: 12.w), Transform.flip( flipX: appState.isArabic(), - child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon_small, width: 10.w, height: 10.h, fit: BoxFit.contain, iconColor: AppColors.textColor), + child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon_small, width: 12.h, height: 12.h, fit: BoxFit.contain, iconColor: AppColors.textColor), ), ], ).paddingAll(12.w), 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 5a9ae8b6..c0a5492b 100644 --- a/lib/presentation/medical_file/widgets/medical_file_appointment_card.dart +++ b/lib/presentation/medical_file/widgets/medical_file_appointment_card.dart @@ -152,7 +152,7 @@ class _MedicalFileAppointmentCardState extends State backgroundColor: AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel) ? AppColors.greyColor : AppColors.secondaryLightRedColor, textColor: AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel) ? AppColors.textColor : AppColors.primaryRedColor, - padding: EdgeInsets.only(top: 12.h, left: 8.w, right: 8.w, bottom: 8.h), + padding: EdgeInsets.all(8.h), ).toShimmer2(isShow: widget.myAppointmentsViewModel.isMyAppointmentsLoading), SizedBox(height: 16.h), IntrinsicWidth( @@ -310,14 +310,14 @@ class _MedicalFileAppointmentCardState extends State borderRadius: 10.r, ), child: Padding( - padding: EdgeInsets.all(10.w), + padding: EdgeInsets.all(10.h), child: Transform.flip( flipX: appState.isArabic(), child: Utils.buildSvgWithAssets( iconColor: AppColors.whiteColor, icon: AppAssets.forward_arrow_icon_small, - width: 40.h, - height: 40.h, + width: 36.h, + height: 36.h, fit: BoxFit.contain, ), ),