diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 347ab714..e852236b 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -34,7 +34,8 @@ android { defaultConfig { applicationId = "com.cloudsolutions.HMGPatientApp" // minSdk = 24 - minSdk = 26 +// minSdk = 26 + minSdk = 29 targetSdk = 35 compileSdk = 36 // targetSdk = flutter.targetSdkVersion diff --git a/assets/images/png/Carparking_services_image.png b/assets/images/png/Carparking_services_image.png new file mode 100644 index 00000000..9ce08c78 Binary files /dev/null and b/assets/images/png/Carparking_services_image.png differ diff --git a/assets/images/png/ereferral_services_image.png b/assets/images/png/ereferral_services_image.png index 15194b59..10d0d14a 100644 Binary files a/assets/images/png/ereferral_services_image.png and b/assets/images/png/ereferral_services_image.png differ diff --git a/assets/images/png/healthtrackers_services_image.png b/assets/images/png/healthtrackers_services_image.png new file mode 100644 index 00000000..2d0c3f8a Binary files /dev/null and b/assets/images/png/healthtrackers_services_image.png differ diff --git a/assets/images/png/livechat_services_image.png b/assets/images/png/livechat_services_image.png new file mode 100644 index 00000000..7e33a933 Binary files /dev/null and b/assets/images/png/livechat_services_image.png differ diff --git a/assets/images/png/smartwatch_services_image.png b/assets/images/png/smartwatch_services_image.png new file mode 100644 index 00000000..303737bf Binary files /dev/null and b/assets/images/png/smartwatch_services_image.png differ diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json index 46633cbf..a63f0706 100644 --- a/assets/langs/ar-SA.json +++ b/assets/langs/ar-SA.json @@ -1617,5 +1617,24 @@ "sortByLocation": "الترتيب حسب الموقع", "timeForFirstReminder": "وقت التذكير الأول", "reminderRemovalNote": "يمكنك إزالتها من التقويم الخاص بك لاحقاً عن طريق إيقاف تشغيل التذكير", - "communicationLanguage": "لغة التواصل" + "communicationLanguage": "لغة التواصل", + + "cmcServiceHeader": "فحص صحي شامل: تشخيص متقدم، معلومات صحية مفصلة", + "cmcServiceDescription": "احصل على معلومات تفصيلية عن صحتك من خلال خدمات التشخيص المتقدمة لدينا. افهم جسمك بشكل أفضل لمستقبل صحي.", + "eReferralServiceHeader": "نظام الإحالة الإلكترونية في مستشفى حبيب: تبسيط عملية إحالة المرضى", + "eReferralServiceDescription": "نُسهّل عملية نقل المرضى بسلاسة إلى مستشفى حبيب من خلال نظام الإحالة الإلكترونية الآمن لدينا. نضمن استمرارية الرعاية لكل مريض.", + "bloodDonationServiceHeader": "تبرع بالدم، أنقذ الأرواح. تبرعك يُحدث فرقاً.", + "bloodDonationServiceDescription": "تبرّع بالدم، وأنقذ الأرواح. تبرعك يبعث الأمل. انضم لحملة التبرع بالدم وكن شريان حياة للمحتاجين. كل قطرة تُحدث فرقًا!", + "healthTrackersServiceHeader": "تتبّع مؤشراتك الحيوية بسهولة ويسر", + "healthTrackersServiceDescription": "أدخل بياناتك لمراقبة معدل ضربات القلب وضغط الدم بشكل مستمر، بالإضافة إلى ملخصات دقيقة لأنشطتك اليومية. ابقَ على اطلاع وحسّن صحتك بسهولة.", + "waterConsumptionServiceHeader": "حافظ على رطوبتك، حافظ على صحتك. تتبع كمية الماء التي تشربها يومياً بكل سهولة.", + "waterConsumptionServiceDescription": "أروِ عطشك، وتابع صحتك. راقب كمية الماء التي تتناولها يومياً بكل سهولة باستخدام تطبيقنا سهل الاستخدام، مما يضمن لك الترطيب الأمثل والصحة الجيدة.", + "smartWatchServiceHeader": "قم بمزامنة ساعتك الذكية مع تطبيقات الصحة", + "smartWatchServiceDescription": "قم بتوصيل ساعتك الذكية بسلاسة بتطبيقنا الصحي لتتبع البيانات بسهولة والحصول على رؤى شخصية.", + "liveChatServiceHeader": "مساعدة الخبراء على مدار الساعة طوال أيام الأسبوع\n\nمساعدة", + "liveChatServiceDescription": "هل تحتاج إلى مساعدة؟ تتيح لك خدمة الدردشة المباشرة لدينا التواصل مع فريق دعم الخبراء للإجابة على أي أسئلة لديك حول الميزات أو الإعدادات أو استكشاف الأخطاء وإصلاحها.", + "emergencyServiceHeader": "تسجيل الوصول إلى قسم الطوارئ، أسرع من أي وقت مضى. اتصل بالإسعاف / فريق الاستجابة السريعة على الفور", + "emergencyServiceDescription": "هل تواجه حالة طبية طارئة؟ سيارات الإسعاف وفرق الاستجابة السريعة لدينا جاهزة على مدار الساعة. بالإضافة إلى ذلك، يمكنك تسجيل دخولك إلى قسم الطوارئ بسرعة لتلقي رعاية أسرع.", + "homeHealthCareServiceHeader": "صحتك، في أبهى صورها. رعاية فائقة الجودة، تصلك إلى عتبة دارك.", + "homeHealthCareServiceDescription": "نقدم لكم رعاية صحية عالية الجودة تصلكم إلى عتبة منزلكم. ممرضات ذوات خبرة يقدمون رعاية حانية في راحة منزلكم." } diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json index 61453b29..ec4c032a 100644 --- a/assets/langs/en-US.json +++ b/assets/langs/en-US.json @@ -1610,5 +1610,29 @@ "sortByLocation": "Sort by location", "sortByNearestLocation": "Sort by nearest to your location", "giveLocationPermissionForNearestList": "Please grant location permission from app settings to see the nearest locations.", - "communicationLanguage": "Communication Language" + "communicationLanguage": "Communication Language", + + "cmcServiceHeader": "Complete Health Checkup: Advanced diagnostics, Detailed Health insights", + "cmcServiceDescription": "Get detailed insights into your health with our advanced diagnostics. Understand your body better for a healthier future.", + "eReferralServiceHeader": "HMG Hospital E-Referral: Streamlined patient referrals", + "eReferralServiceDescription": "Facilitate seamless patient transfers to HMG with our secure e-referral system. Ensure continuity of care for every patient.", + "bloodDonationServiceHeader": "Give Blood, Save Lives. Your donation makes a difference.", + "bloodDonationServiceDescription": "Donate blood, empower lives. Your contribution creates hope. Join our blood drive and be a lifeline for those in need. Every drop counts!", + + "healthTrackersServiceHeader": "Track Your Vitals with Ease and effortlessly ", + "healthTrackersServiceDescription": "Input your metrics for continuous heart rate monitoring, blood pressure and precise daily activity summaries. Stay informed and optimize your well-being with ease.", + + "waterConsumptionServiceHeader": "Stay Hydrated, Stay Healthy. Track your daily water intake with ease.", + "waterConsumptionServiceDescription": "Quench your thirst, track your health. Effortlessly monitor your daily water intake with our user-friendly app, ensuring optimal hydration and well-being.", + + "smartWatchServiceHeader": "Sync Your Smartwatch with Health Apps", + "smartWatchServiceDescription": "Seamlessly connect your smartwatch to our health app for effortless data tracking and personalized insights.", + + "liveChatServiceHeader": "24/7 Expert\nAssistance", + "liveChatServiceDescription": "Need help ? Our live chat connects you with expert support for any questions about features, settings, or troubleshooting.", + + "emergencyServiceHeader": "ER Check-in, Faster Than Ever. Call ambulance / Rapid Response Team instantly", + "emergencyServiceDescription": "In a medical emergency? Our ambulances and rapid response teams are on standby 24/7. Plus, quick ER check-in for faster care.", + "homeHealthCareServiceHeader": "Your Health, Elevated. Premium care, delivered to your doorstep.", + "homeHealthCareServiceDescription": "We bring quality healthcare to your doorstep. Experienced nurses providing compassionate care in the comfort of your home." } diff --git a/lib/core/app_assets.dart b/lib/core/app_assets.dart index 3ef55b46..222a5100 100644 --- a/lib/core/app_assets.dart +++ b/lib/core/app_assets.dart @@ -364,6 +364,10 @@ class AppAssets { static const String emergencyService = '$pngBasePath/emergency_services_image.png'; static const String cmcService = '$pngBasePath/cmc_services_image.png'; static const String eReferralService = '$pngBasePath/ereferral_services_image.png'; + static const String carParkingService = '$pngBasePath/Carparking_services_image.png'; + static const String smartWatchService = '$pngBasePath/smartwatch_services_image.png'; + static const String healthTrackersService = '$pngBasePath/healthtrackers_services_image.png'; + static const String livechatService = '$pngBasePath/livechat_services_image.png'; static const String maleImg = '$pngBasePath/male_img.png'; static const String femaleImg = '$pngBasePath/female_img.png'; diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart index 34a0c222..f365d209 100644 --- a/lib/generated/locale_keys.g.dart +++ b/lib/generated/locale_keys.g.dart @@ -1596,6 +1596,7 @@ abstract class LocaleKeys { static const timeFor = 'timeFor'; static const hmgPolicies = 'hmgPolicies'; static const darkMode = 'darkMode'; + static const featureComingSoonDescription = 'featureComingSoonDescription'; static const generateAiAnalysisResult = 'generateAiAnalysisResult'; static const ratings = 'ratings'; static const hmgPharmacyText = 'hmgPharmacyText'; @@ -1610,6 +1611,23 @@ abstract class LocaleKeys { static const timeForFirstReminder = 'timeForFirstReminder'; static const reminderRemovalNote = 'reminderRemovalNote'; static const communicationLanguage = 'communicationLanguage'; - static const featureComingSoonDescription = 'featureComingSoonDescription'; + static const cmcServiceHeader = 'cmcServiceHeader'; + static const cmcServiceDescription = 'cmcServiceDescription'; + static const eReferralServiceHeader = 'eReferralServiceHeader'; + static const eReferralServiceDescription = 'eReferralServiceDescription'; + static const bloodDonationServiceHeader = 'bloodDonationServiceHeader'; + static const bloodDonationServiceDescription = 'bloodDonationServiceDescription'; + static const healthTrackersServiceHeader = 'healthTrackersServiceHeader'; + static const healthTrackersServiceDescription = 'healthTrackersServiceDescription'; + static const waterConsumptionServiceHeader = 'waterConsumptionServiceHeader'; + static const waterConsumptionServiceDescription = 'waterConsumptionServiceDescription'; + static const smartWatchServiceHeader = 'smartWatchServiceHeader'; + static const smartWatchServiceDescription = 'smartWatchServiceDescription'; + static const liveChatServiceHeader = 'liveChatServiceHeader'; + static const liveChatServiceDescription = 'liveChatServiceDescription'; + static const emergencyServiceHeader = 'emergencyServiceHeader'; + static const emergencyServiceDescription = 'emergencyServiceDescription'; + static const homeHealthCareServiceHeader = 'homeHealthCareServiceHeader'; + static const homeHealthCareServiceDescription = 'homeHealthCareServiceDescription'; } diff --git a/lib/presentation/book_appointment/book_appointment_page.dart b/lib/presentation/book_appointment/book_appointment_page.dart index c6859736..feee3b83 100644 --- a/lib/presentation/book_appointment/book_appointment_page.dart +++ b/lib/presentation/book_appointment/book_appointment_page.dart @@ -117,18 +117,30 @@ class _BookAppointmentPageState extends State { if (appState.isAuthenticated) ...[ Consumer(builder: (context, myAppointmentsVM, child) { return myAppointmentsVM.isPatientMyDoctorsLoading - ? Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Image.network( + ? SizedBox( + height: 110.h, + child: ListView.separated( + scrollDirection: Axis.horizontal, + itemCount: 5, + shrinkWrap: true, + padding: EdgeInsets.only(left: 24.w, right: 24.w), + itemBuilder: (context, index) { + return Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Image.network( "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png", width: 64.w, height: 64.h, fit: BoxFit.cover, ).circle(100).toShimmer2(isShow: true, radius: 50.r), SizedBox(height: 8.h), - ("Dr. John Smith Smith Smith").toString().toText12(fontWeight: FontWeight.w500, isCenter: true, maxLine: 2).toShimmer2(isShow: true), - ], + ("Dr. John").toString().toText12(fontWeight: FontWeight.w500, isCenter: true, maxLine: 2).toShimmer2(isShow: true), + ], + ); + }, + separatorBuilder: (BuildContext cxt, int index) => SizedBox(width: 16.h), + ), ) : myAppointmentsVM.patientMyDoctorsList.isEmpty ? SizedBox() diff --git a/lib/presentation/book_appointment/doctor_profile_page.dart b/lib/presentation/book_appointment/doctor_profile_page.dart index fd43048d..594306fe 100644 --- a/lib/presentation/book_appointment/doctor_profile_page.dart +++ b/lib/presentation/book_appointment/doctor_profile_page.dart @@ -149,6 +149,7 @@ class DoctorProfilePage extends StatelessWidget { LocaleKeys.docInfo.tr(context: context).toText14(weight: FontWeight.w600, color: AppColors.textColor), SizedBox(height: 6.h), bookAppointmentsViewModel.doctorsProfileResponseModel.doctorProfileInfo!.toText12(fontWeight: FontWeight.w600, color: AppColors.greyTextColor), + SizedBox(height: 24.h), ], ).paddingSymmetrical(24.h, 0.h), ), diff --git a/lib/presentation/book_appointment/widgets/doctor_rating_details.dart b/lib/presentation/book_appointment/widgets/doctor_rating_details.dart index 1a5eedfe..c866b8a8 100644 --- a/lib/presentation/book_appointment/widgets/doctor_rating_details.dart +++ b/lib/presentation/book_appointment/widgets/doctor_rating_details.dart @@ -20,7 +20,7 @@ class DoctorRatingDetails extends StatelessWidget { : Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - bookAppointmentsVM.doctorsProfileResponseModel.actualDoctorRate!.ceilToDouble().toString().toText44(isBold: true, isEnglishOnly: true), + bookAppointmentsVM.doctorsProfileResponseModel.decimalDoctorRate!.toString().toText44(isBold: true, isEnglishOnly: true), SizedBox(height: 4.h), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, diff --git a/lib/presentation/contact_us/contact_us.dart b/lib/presentation/contact_us/contact_us.dart index 602fc3b2..b6c45a62 100644 --- a/lib/presentation/contact_us/contact_us.dart +++ b/lib/presentation/contact_us/contact_us.dart @@ -93,9 +93,9 @@ class ContactUs extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.liveChat.tr(), - serviceHeader: "HMG Hospital E-Referral: Streamlined patient referrals".needTranslation, - serviceDescription: "Facilitate seamless patient transfers to HMG with our secure e-referral system. Ensure continuity of care for every patient.".needTranslation, - serviceImage: AppAssets.eReferralService), + serviceHeader: LocaleKeys.liveChatServiceHeader.tr(), + serviceDescription: LocaleKeys.liveChatServiceDescription.tr(), + serviceImage: AppAssets.livechatService), ), ); } diff --git a/lib/presentation/emergency_services/emergency_services_page.dart b/lib/presentation/emergency_services/emergency_services_page.dart index 801f6ca2..c69f7eed 100644 --- a/lib/presentation/emergency_services/emergency_services_page.dart +++ b/lib/presentation/emergency_services/emergency_services_page.dart @@ -92,7 +92,10 @@ class _EmergencyServicesPageState extends State { ), ), SizedBox(width: 12.h), - Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h), + Transform.flip( + flipX: appState.isArabic(), + child: Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h), + ), ], ).onPress(() { if(appState.isAuthenticated) { @@ -158,8 +161,8 @@ class _EmergencyServicesPageState extends State { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.emergencyServices.tr(), - serviceHeader: "ER Check-in, Faster Than Ever. Call ambulance / Rapid Response Team instantly".needTranslation, - serviceDescription: "In a medical emergency? Our ambulances and rapid response teams are on standby 24/7. Plus, quick ER check-in for faster care.".needTranslation, + serviceHeader: LocaleKeys.emergencyServiceHeader.tr(), + serviceDescription: LocaleKeys.emergencyServiceDescription.tr(), serviceImage: AppAssets.emergencyService), ), ); @@ -188,7 +191,10 @@ class _EmergencyServicesPageState extends State { ), ), SizedBox(width: 12.h), - Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h), + Transform.flip( + flipX: appState.isArabic(), + child: Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h), + ), ], ).onPress(() { context.read().navigateToNearestERPage(); @@ -216,7 +222,7 @@ class _EmergencyServicesPageState extends State { ), ), SizedBox(width: 12.h), - Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h), + Transform.flip(flipX: appState.isArabic(), child: Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h)), ], ).onPress(() { if(appState.isAuthenticated) { @@ -308,8 +314,8 @@ class _EmergencyServicesPageState extends State { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.emergencyServices.tr(), - serviceHeader: "ER Check-in, Faster Than Ever. Call ambulance / Rapid Response Team instantly".needTranslation, - serviceDescription: "In a medical emergency? Our ambulances and rapid response teams are on standby 24/7. Plus, quick ER check-in for faster care.".needTranslation, + serviceHeader: LocaleKeys.emergencyServiceHeader.tr(), + serviceDescription: LocaleKeys.emergencyServiceDescription.tr(), serviceImage: AppAssets.emergencyService), ), ); @@ -338,7 +344,7 @@ class _EmergencyServicesPageState extends State { ), ), SizedBox(width: 12.h), - Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h), + Transform.flip(flipX: appState.isArabic(), child: Utils.buildSvgWithAssets(icon: AppAssets.forward_chevron_icon, width: 13.h, height: 13.h)), ], ).onPress(() { if(appState.isAuthenticated) { @@ -408,8 +414,8 @@ class _EmergencyServicesPageState extends State { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.emergencyServices.tr(), - serviceHeader: "ER Check-in, Faster Than Ever. Call ambulance / Rapid Response Team instantly".needTranslation, - serviceDescription: "In a medical emergency? Our ambulances and rapid response teams are on standby 24/7. Plus, quick ER check-in for faster care.".needTranslation, + serviceHeader: LocaleKeys.emergencyServiceHeader.tr(), + serviceDescription: LocaleKeys.emergencyServiceDescription.tr(), serviceImage: AppAssets.emergencyService), ), ); diff --git a/lib/presentation/hmg_services/services_page.dart b/lib/presentation/hmg_services/services_page.dart index 8310e6db..22ea1121 100644 --- a/lib/presentation/hmg_services/services_page.dart +++ b/lib/presentation/hmg_services/services_page.dart @@ -12,6 +12,7 @@ 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/blood_donation/blood_donation_view_model.dart'; +import 'package:hmg_patient_app_new/features/book_appointments/book_appointments_view_model.dart'; import 'package:hmg_patient_app_new/features/emergency_services/emergency_services_view_model.dart'; import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_model.dart'; import 'package:hmg_patient_app_new/features/hmg_services/models/ui_models/hmg_services_component_model.dart'; @@ -20,6 +21,7 @@ import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_mode import 'package:hmg_patient_app_new/features/water_monitor/water_monitor_view_model.dart'; import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; import 'package:hmg_patient_app_new/presentation/blood_donation/blood_donation_page.dart'; +import 'package:hmg_patient_app_new/presentation/book_appointment/book_appointment_page.dart'; import 'package:hmg_patient_app_new/presentation/contact_us/contact_us.dart'; import 'package:hmg_patient_app_new/presentation/emergency_services/emergency_services_page.dart'; import 'package:hmg_patient_app_new/presentation/habib_wallet/habib_wallet_page.dart'; @@ -80,7 +82,11 @@ class ServicesPage extends StatelessWidget { AppAssets.appointment_calendar_icon, bgColor: AppColors.bookAppointment, true, - route: AppRoutes.bookAppointmentPage, + route: null, + onTap: () { + getIt.get().onTabChanged(0); + Navigator.of(getIt().navigatorKey.currentContext!).push(CustomPageRoute(page: BookAppointmentPage())); + } ), HmgServicesComponentModel(5, LocaleKeys.completeCheckup.tr(), "", AppAssets.comprehensiveCheckup, bgColor: AppColors.bgGreenColor, true, route: null, onTap: () async { if (getIt.get().isAuthenticated) { @@ -90,8 +96,8 @@ class ServicesPage extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.comprehensiveMedicalCheckup.tr(), - serviceHeader: "Complete Health Checkup: Advanced diagnostics, Detailed Health insights".needTranslation, - serviceDescription: "Get detailed insights into your health with our advanced diagnostics. Understand your body better for a healthier future.".needTranslation, + serviceHeader: LocaleKeys.cmcServiceHeader.tr(), + serviceDescription: LocaleKeys.cmcServiceDescription.tr(), serviceImage: AppAssets.cmcService), ), ); @@ -150,8 +156,8 @@ class ServicesPage extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.eReferralServices.tr(), - serviceHeader: "HMG Hospital E-Referral: Streamlined patient referrals".needTranslation, - serviceDescription: "Facilitate seamless patient transfers to HMG with our secure e-referral system. Ensure continuity of care for every patient.".needTranslation, + serviceHeader: LocaleKeys.eReferralServiceHeader.tr(), + serviceDescription: LocaleKeys.eReferralServiceDescription.tr(), serviceImage: AppAssets.eReferralService), ), ); @@ -177,8 +183,8 @@ class ServicesPage extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.bloodDonation.tr(), - serviceHeader: "Give Blood, Save Lives. Your donation makes a difference.".needTranslation, - serviceDescription: "Donate blood, empower lives. Your contribution creates hope. Join our blood drive and be a lifeline for those in need. Every drop counts!".needTranslation, + serviceHeader: LocaleKeys.bloodDonationServiceHeader.tr(), + serviceDescription: LocaleKeys.bloodDonationServiceDescription.tr(), serviceImage: AppAssets.bloodDonationService), ), ); @@ -270,9 +276,9 @@ class ServicesPage extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.healthTrackers.tr(), - serviceHeader: "HMG Hospital E-Referral: Streamlined patient referrals".needTranslation, - serviceDescription: "Facilitate seamless patient transfers to HMG with our secure e-referral system. Ensure continuity of care for every patient.".needTranslation, - serviceImage: AppAssets.eReferralService), + serviceHeader: LocaleKeys.healthTrackersServiceHeader.tr(), + serviceDescription: LocaleKeys.healthTrackersServiceDescription.tr(), + serviceImage: AppAssets.healthTrackersService), ), ); } @@ -311,8 +317,8 @@ class ServicesPage extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.waterConsumption.tr(), - serviceHeader: "Stay Hydrated, Stay Healthy. Track your daily water intake with ease.".needTranslation, - serviceDescription: "Quench your thirst, track your health. Effortlessly monitor your daily water intake with our user-friendly app, ensuring optimal hydration and well-being.".needTranslation, + serviceHeader: LocaleKeys.waterConsumptionServiceHeader.tr(), + serviceDescription: LocaleKeys.waterConsumptionServiceDescription.tr(), serviceImage: AppAssets.waterConsumptionService), ), ); @@ -353,9 +359,9 @@ class ServicesPage extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.smartWatches.tr(), - serviceHeader: "HMG Hospital E-Referral: Streamlined patient referrals".needTranslation, - serviceDescription: "Facilitate seamless patient transfers to HMG with our secure e-referral system. Ensure continuity of care for every patient.".needTranslation, - serviceImage: AppAssets.eReferralService), + serviceHeader: LocaleKeys.smartWatchServiceHeader.tr(), + serviceDescription: LocaleKeys.smartWatchServiceDescription.tr(), + serviceImage: AppAssets.smartWatchService), ), ); } diff --git a/lib/presentation/home/service_info_page.dart b/lib/presentation/home/service_info_page.dart index 5d07593d..bf21577a 100644 --- a/lib/presentation/home/service_info_page.dart +++ b/lib/presentation/home/service_info_page.dart @@ -63,6 +63,7 @@ class ServiceInfoPage extends StatelessWidget { child: Image.asset( serviceImage, fit: BoxFit.fitHeight, + height: 480.h, width: 520.w, ), ), diff --git a/lib/presentation/home/widgets/large_service_card.dart b/lib/presentation/home/widgets/large_service_card.dart index f0145afa..5428e21d 100644 --- a/lib/presentation/home/widgets/large_service_card.dart +++ b/lib/presentation/home/widgets/large_service_card.dart @@ -148,8 +148,8 @@ class LargeServiceCard extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.homeHealthCare.tr(), - serviceHeader: "Your Health, Elevated. Premium care, delivered to your doorstep.", - serviceDescription: "We bring quality healthcare to your doorstep. Experienced nurses providing compassionate care in the comfort of your home.", + serviceHeader: LocaleKeys.homeHealthCareServiceHeader.tr(), + serviceDescription: LocaleKeys.homeHealthCareServiceDescription.tr(), serviceImage: AppAssets.homeHealthCareService), ), ); @@ -295,8 +295,8 @@ class FadedLargeServiceCard extends StatelessWidget { CustomPageRoute( page: ServiceInfoPage( serviceName: LocaleKeys.homeHealthCare.tr(), - serviceHeader: "Your Health, Elevated. Premium care, delivered to your doorstep.".needTranslation, - serviceDescription: "We bring quality healthcare to your doorstep. Experienced nurses providing compassionate care in the comfort of your home.".needTranslation, + serviceHeader: LocaleKeys.homeHealthCareServiceHeader.tr(), + serviceDescription: LocaleKeys.homeHealthCareServiceDescription.tr(), serviceImage: AppAssets.homeHealthCareService), ), ); diff --git a/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart b/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart index 1a97d48d..ac2537e1 100644 --- a/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart +++ b/lib/presentation/lab/lab_result_via_clinic/lab_order_result_item.dart @@ -44,7 +44,7 @@ class LabOrderResultItem extends StatelessWidget { ), // (tests!.packageShortDescription ?? "").toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight), - ((tests!.testShortDescription != null && tests!.testShortDescription!.isNotEmpty) ? tests!.testShortDescription : tests!.packageShortDescription)! + (((tests!.testShortDescription != null && tests!.testShortDescription!.isNotEmpty) ? tests!.testShortDescription : tests!.packageShortDescription) ?? "") .toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight), SizedBox(height: 12.h), Directionality( diff --git a/lib/presentation/parking/paking_page.dart b/lib/presentation/parking/paking_page.dart index db451b27..7673d15f 100644 --- a/lib/presentation/parking/paking_page.dart +++ b/lib/presentation/parking/paking_page.dart @@ -1,7 +1,10 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:hmg_patient_app_new/core/app_assets.dart'; import 'package:hmg_patient_app_new/core/app_export.dart'; +import 'package:hmg_patient_app_new/core/app_state.dart'; +import 'package:hmg_patient_app_new/core/dependencies.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/generated/locale_keys.g.dart'; @@ -103,6 +106,18 @@ class _ParkingPageState extends State { child: Padding( padding: EdgeInsets.all(16.h), child: LocaleKeys.parkingDescription.tr(context: context).toText12(fontWeight: FontWeight.w500, color: AppColors.textColor)), ).paddingOnly(top: 16, bottom: 16), + ClipRRect( + borderRadius: BorderRadius.circular(24.r), + child: Transform.flip( + flipX: getIt.get().isArabic(), + child: Image.asset( + AppAssets.carParkingService, + fit: BoxFit.fitHeight, + height: 480.h, + width: 520.w, + ), + ), + ), ], ), ),