Localization

pull/269/head
aamir-csol 19 hours ago
parent cb2e3c7574
commit 1c929999f1

@ -13,7 +13,7 @@
"language": "لغة التطبيق", "language": "لغة التطبيق",
"lanEnglish": "الإنجليزية", "lanEnglish": "الإنجليزية",
"lanArabic": "العربية", "lanArabic": "العربية",
"cancel": "لا", "cancel": "الغاء",
"done": "تم", "done": "تم",
"replay2": "إعادة التشغيل", "replay2": "إعادة التشغيل",
"home": "الرئيسية", "home": "الرئيسية",
@ -80,7 +80,7 @@
"changePayment": "تغيير طريقة الدفع", "changePayment": "تغيير طريقة الدفع",
"upcomingNoAction": "لا يتطلب أي إجراء", "upcomingNoAction": "لا يتطلب أي إجراء",
"upcomingConfirm": "يرجى تأكيد الموعد لتجنب الإلغاء", "upcomingConfirm": "يرجى تأكيد الموعد لتجنب الإلغاء",
"bookSuccessConfirmMore2412": "ستكون عملية الدفع عبر الإنترنت متاحة قبل 24 ساعة <EFBFBD><EFBFBD>ن الموعد.", "bookSuccessConfirmMore2412": "ستكون عملية الدفع عبر الإنترنت متاحة قبل 24 ساعة من الموعد.",
"upcomingPaymentPending": "سيتم تفعيل الدفع عبر الإنترنت قبل 24 ساعة من وقت الموعد", "upcomingPaymentPending": "سيتم تفعيل الدفع عبر الإنترنت قبل 24 ساعة من وقت الموعد",
"upcomingPaymentNow": "الدفع الإلكتروني لتجنب الانتظار", "upcomingPaymentNow": "الدفع الإلكتروني لتجنب الانتظار",
"timeUntilAppointment": "الوقت المتبقي حتى الموعد", "timeUntilAppointment": "الوقت المتبقي حتى الموعد",
@ -260,7 +260,7 @@
"viewAllHabibMedicalService": "عرض جميع خدمات الحبيب الطبية", "viewAllHabibMedicalService": "عرض جميع خدمات الحبيب الطبية",
"viewAll": "عرض الكل", "viewAll": "عرض الكل",
"view": "عرض", "view": "عرض",
"contactUs": "اتصل بنا", "contactUs": "طرق التواصل",
"contactUsLocation": "ص.ب: 91877 - الرياض 11643، طريق الملك فهد - العليا - المملكة العربية السعودية", "contactUsLocation": "ص.ب: 91877 - الرياض 11643، طريق الملك فهد - العليا - المملكة العربية السعودية",
"contactUsTime": "السبت - الأربعاء 8:00 صباحًا - 10 مساءً، الخميس 8:00 صباحًا- 8:00 مساءً، الجمعة 2:00 مساءً - 8:00 مساءً", "contactUsTime": "السبت - الأربعاء 8:00 صباحًا - 10 مساءً، الخميس 8:00 صباحًا- 8:00 مساءً، الجمعة 2:00 مساءً - 8:00 مساءً",
"viewAllWaysReachUs": "عرض جميع طرق التواصل معنا", "viewAllWaysReachUs": "عرض جميع طرق التواصل معنا",
@ -275,7 +275,7 @@
"parking2": " المواقف", "parking2": " المواقف",
"alhabiServices": "خدمة HMG", "alhabiServices": "خدمة HMG",
"parkingTitle": "خدمة السيارة، خدمة السيارة، خدمة لحفظ معلومات الموقف، العودة إليها لاحقًا، 1- من خلال النقر على (قراءة الرمز)، حفظ بيانات الموقف. 2- من خلال النقر على زر (عرض موقف سيارتي)، يظهر لك موقع السيارة في خرائط Google. 3- قراءة موضع آخر بالضغط على زر مسح بيانات الموضع.", "parkingTitle": "خدمة السيارة، خدمة السيارة، خدمة لحفظ معلومات الموقف، العودة إليها لاحقًا، 1- من خلال النقر على (قراءة الرمز)، حفظ بيانات الموقف. 2- من خلال النقر على زر (عرض موقف سيارتي)، يظهر لك موقع السيارة في خرائط Google. 3- قراءة موضع آخر بالضغط على زر مسح بيانات الموضع.",
"parkingDescription": "خدمة المواقف هي لك لمسح موقع السيارة حتى تتمكن من العثور عليها بسهولة عند مغادرتك. انقر على زر (مسح الموقف) لحفظ موقع الموقف، ثم سيظهر زر (عرض موقفي) لإظهار الطريق إلى الموقف. إذا كنت ترغب في إعادة مسح موقف السيارة QR فقط انقر على (مسح بياناتي).", "parkingDescription": "يمكنك حفظ موقع سيارتك لسهولة الوصول إليها لاحقًا.",
"appointments": "المواعيد", "appointments": "المواعيد",
"all2": "الكل", "all2": "الكل",
"checkinOption": "تسجيل الحضور", "checkinOption": "تسجيل الحضور",
@ -289,7 +289,7 @@
"emergencyServices": "خدمات الطوارئ", "emergencyServices": "خدمات الطوارئ",
"nearester": "أقرب طوارئ", "nearester": "أقرب طوارئ",
"locationa": "الموقع", "locationa": "الموقع",
"callNow": "اتصل الآن", "callNow": "الاتصال المباشر",
"ambulancerequest": "طلب إسعاف", "ambulancerequest": "طلب إسعاف",
"requestA": "الطلبات", "requestA": "الطلبات",
"noBookedAppointments": "لا توجد مواعيد محجوزة", "noBookedAppointments": "لا توجد مواعيد محجوزة",
@ -769,7 +769,7 @@
"infoTodo": "تم تصميم هذه الخدمة لتمكينك من الحصول على رابط سريع لقائمة المهام التي تحتاج القيام بها", "infoTodo": "تم تصميم هذه الخدمة لتمكينك من الحصول على رابط سريع لقائمة المهام التي تحتاج القيام بها",
"familyInfo": "من خلال هذه الخدمة، ستتمكن من ربط ملفات عائلتك الطبية بملفك الطبي حتى تتمكن من إدارة سجلاتهم عن طريق تسجيل الدخول إلى ملفك الطبي.", "familyInfo": "من خلال هذه الخدمة، ستتمكن من ربط ملفات عائلتك الطبية بملفك الطبي حتى تتمكن من إدارة سجلاتهم عن طريق تسجيل الدخول إلى ملفك الطبي.",
"rrtdDetails": "تقدم فريق الاستجابة السريعة خدمة طبية شاملة لجميع أنواع الحالات العاجلة والمستقرة من جميع الأعمار، بما في ذلك البالغين والمرضى الأطفال، وتغطي الخدمة فريق طبي مدرب تدريبًا عاليًا ومجهز تجهيزًا كاملاً قادرًا على تقديم أفضل رعاية طبية في منزل المريض.", "rrtdDetails": "تقدم فريق الاستجابة السريعة خدمة طبية شاملة لجميع أنواع الحالات العاجلة والمستقرة من جميع الأعمار، بما في ذلك البالغين والمرضى الأطفال، وتغطي الخدمة فريق طبي مدرب تدريبًا عاليًا ومجهز تجهيزًا كاملاً قادرًا على تقديم أفضل رعاية طبية في منزل المريض.",
"homeHealthCareText": "أعلى معايير الرعاية و الخدمات الطبية في راحة منزلك", "homeHealthCareText": "تقدم هذه الخدمة مجموعة من خدمات الرعاية الصحية المنزلية",
"onlineCheckInAgreement": "تسجيل الوصول عبر الإنترنت مخصص للحالات التي لا تهدد الحياة. اتصل بالهلال الأحمر (997) أو اذهب إلى أقرب قسم طوارئ إذا كان هناك: \n\nعلامات السكتة الدماغية أو النوبة القلبية \nhالة من النوبات أو الإغماء \nهناك إصابة تهدد الطرف أو الحياة \nصورة لإصابات خطيرة", "onlineCheckInAgreement": "تسجيل الوصول عبر الإنترنت مخصص للحالات التي لا تهدد الحياة. اتصل بالهلال الأحمر (997) أو اذهب إلى أقرب قسم طوارئ إذا كان هناك: \n\nعلامات السكتة الدماغية أو النوبة القلبية \nhالة من النوبات أو الإغماء \nهناك إصابة تهدد الطرف أو الحياة \nصورة لإصابات خطيرة",
"infoEreferral": "تتيح لك هذه الخدمة تقديم طلب إحالة من أي مقدم رعاية صحية سواء داخل أو خارج المملكة العربية السعودية إلى أي من مستشفيات HMG، عن طريق ملء بعض بيانات المريض وإرفاق التقارير الطبية، علاوة على ذلك يمكنك تتبع حالة الطلب (قيد المعالجة، مقبول أو مرفوض)", "infoEreferral": "تتيح لك هذه الخدمة تقديم طلب إحالة من أي مقدم رعاية صحية سواء داخل أو خارج المملكة العربية السعودية إلى أي من مستشفيات HMG، عن طريق ملء بعض بيانات المريض وإرفاق التقارير الطبية، علاوة على ذلك يمكنك تتبع حالة الطلب (قيد المعالجة، مقبول أو مرفوض)",
"erConsultation": "تتيح لك هذه الخدمة إجراء استشارة افتراضية عبر الإنترنت عبر مكالمة فيديو مباشرة مع الطبيب من أي مكان وفي أي وقت.", "erConsultation": "تتيح لك هذه الخدمة إجراء استشارة افتراضية عبر الإنترنت عبر مكالمة فيديو مباشرة مع الطبيب من أي مكان وفي أي وقت.",
@ -1029,7 +1029,7 @@
"appointmentsList": "قائمة المواعيد", "appointmentsList": "قائمة المواعيد",
"allAppt": "جميع المواعيد", "allAppt": "جميع المواعيد",
"upcoming": "القادمة", "upcoming": "القادمة",
"completed": "المكتملة", "completed": "تمت الزيارة",
"noAppointmentsYet": "ليس لديك أي مواعيد بعد.", "noAppointmentsYet": "ليس لديك أي مواعيد بعد.",
"viewProfile": "الملف الشخصي", "viewProfile": "الملف الشخصي",
"choosePreferredHospitalForService": "اختر المستشفى المفضل لديك للخدمة", "choosePreferredHospitalForService": "اختر المستشفى المفضل لديك للخدمة",
@ -1051,7 +1051,7 @@
"comprehensiveCheckup": "الفحص الشامل", "comprehensiveCheckup": "الفحص الشامل",
"viewNearestHMGLocations": "عرض أقرب فرع", "viewNearestHMGLocations": "عرض أقرب فرع",
"provideFeedbackOnServices": "قدم ملاحظاتك على خدماتنا", "provideFeedbackOnServices": "قدم ملاحظاتك على خدماتنا",
"liveChatWithHMG": "حدث مباشرة مع الموظف", "liveChatWithHMG": "محادثة مباشرة مع الموظف",
"send": "إرسال", "send": "إرسال",
"status": "الحالة", "status": "الحالة",
"sendingFeedback": "جاري إرسال الملاحظات...", "sendingFeedback": "جاري إرسال الملاحظات...",
@ -1140,7 +1140,7 @@
"vatWithAmount": "الضريبة 15% ({amount})", "vatWithAmount": "الضريبة 15% ({amount})",
"erAppointmentBookedSuccess": "تم حجز موعدك بنجاح. يرجى إتمام إجراءات تسجيل الوصول عند وصولك إلى المستشفى.", "erAppointmentBookedSuccess": "تم حجز موعدك بنجاح. يرجى إتمام إجراءات تسجيل الوصول عند وصولك إلى المستشفى.",
"underProcessing": "قيد المعالجة", "underProcessing": "قيد المعالجة",
"canceledByPatient": "ملغى بواسطة المريض", "canceledByPatient": "تم الالغاء",
"rapidResponseTeam": "فريق الاستجابة السريع", "rapidResponseTeam": "فريق الاستجابة السريع",
"allFacilities": "جميع المرافق", "allFacilities": "جميع المرافق",
"selectLocation": "اختر الموقع", "selectLocation": "اختر الموقع",
@ -1189,22 +1189,22 @@
"monitorCholesterolLevels": "راقب مستويات الكوليسترول، وقيّم مخاطر صحة القلب، واتخذ خطوات استباقية للرفاهية.", "monitorCholesterolLevels": "راقب مستويات الكوليسترول، وقيّم مخاطر صحة القلب، واتخذ خطوات استباقية للرفاهية.",
"triglyceridesFatBlood": "الدهون الثلاثية في الدم", "triglyceridesFatBlood": "الدهون الثلاثية في الدم",
"understandTriglyceridesImpact": "افهم تأثير الدهون الثلاثية على صحة القلب مع رؤى مخصصة وتوصيات الخبراء.", "understandTriglyceridesImpact": "افهم تأثير الدهون الثلاثية على صحة القلب مع رؤى مخصصة وتوصيات الخبراء.",
"bmiCalculator": "مؤشر\nكتلة الجسم", "bmiCalculator": "مؤشر كتلة الجسم",
"caloriesCalculator": "السعرات \nالحرارية", "caloriesCalculator": "السعرات الحرارية",
"bmrCalculator": "معدل \nالايض", "bmrCalculator": "معدل الايض",
"idealBodyWeight": "الوزن\n المثالي", "idealBodyWeight": "الوزن المثالي",
"bodyFatCalculator": "دهون\n الجسم", "bodyFatCalculator": "دهون الجسم",
"carbsProteinFat": "الكربوهيدرات\nالبروتين والدهون", "carbsProteinFat": "الكربوهيدرات البروتين والدهون",
"ovulationPeriod": "فترة\nالإباضة", "ovulationPeriod": "فترةالإباضة",
"deliveryDueDate": "تاريخ الولادة\nالمتوقع", "deliveryDueDate": "تاريخ الولادةالمتوقع",
"bmiCalculatorDesc": "احسب مؤشر كتلة جسمك لفهم نطاق وزنك الصحي.", "bmiCalculatorDesc": "مؤشر كتلة الجسم لفهم نطاق الوزن الصحي",
"caloriesCalculatorDesc": "اكتشف عدد السعرات الحرارية التي تحتاجها يومياً للحفاظ على الوزن أو فقدانه.", "caloriesCalculatorDesc": "السعرات الحرارية اللازمة يوميا للحفاظ على الوزن الصحي",
"bmrCalculatorDesc": "حدد معدل الأيض الأساسي ومتطلباتك اليومية من الطاقة.", "bmrCalculatorDesc": " معدل الأيض الأساسي والاحتياج اليومي من الطاقة",
"idealBodyWeightDesc": "اكتشف وزنك المثالي بناءً على الطول والعمر وبنية الجسم.", "idealBodyWeightDesc": "الوزن المثالي حسب الطول والعمر وبنية الجسم",
"bodyFatCalculatorDesc": "قدّر نسبة دهون جسمك لتتبع أهداف اللياقة والصحة.", "bodyFatCalculatorDesc": "نسبة دهون الجسم لتتبع أهداف اللياقة والصحة",
"carbsProteinFatDesc": "وازن بين العناصر الغذائية مع النسب الصحيحة من الكربوهيدرات والبروتين والدهون.", "carbsProteinFatDesc": "توازن الكربوهيدرات والبروتين والدهون في النظام الغذائي",
"ovulationPeriodDesc": "تتبع فترة خصوبتك وخطط للحمل بدقة.", "ovulationPeriodDesc": "فترة الخصوبة والتخطيط للحمل",
"deliveryDueDateDesc": "احسب تاريخ ولادتك المتوقع وراقب مراحل الحمل.", "deliveryDueDateDesc": "تاريخ الولادة المتوقع ومراحل الحمل",
"low": "منخفض", "low": "منخفض",
"preDiabetic": "ما قبل السكري", "preDiabetic": "ما قبل السكري",
"high": "مرتفع", "high": "مرتفع",
@ -1238,7 +1238,7 @@
"bookAppointment": "حجز\nموعد", "bookAppointment": "حجز\nموعد",
"completeCheckup": "الفحص الشامل", "completeCheckup": "الفحص الشامل",
"indoorNavigation": "الملاحة الداخلية", "indoorNavigation": "الملاحة الداخلية",
"eReferralServices": "الاحالة", "eReferralServices": "الإحالة الإلكترونية",
"bloodDonation": "التبرع بالدم", "bloodDonation": "التبرع بالدم",
"dailyWaterMonitor": "مراقب الماء اليومي", "dailyWaterMonitor": "مراقب الماء اليومي",
"fetchingYourWaterIntakeDetails": "جاري جلب تفاصيل استهلاك الماء الخاص بك.", "fetchingYourWaterIntakeDetails": "جاري جلب تفاصيل استهلاك الماء الخاص بك.",
@ -1331,7 +1331,7 @@
"allergyInfo": "معلومات الحساسية", "allergyInfo": "معلومات الحساسية",
"vaccineInfo": "معلومات اللقاحات", "vaccineInfo": "معلومات اللقاحات",
"updateInsuranceInfo": "تحديث التأمين", "updateInsuranceInfo": "تحديث التأمين",
"myInvoicesList": "و الفواتير", "myInvoicesList": "الفواتير",
"ancillaryOrdersList": "الخدمات الطبية المساندة", "ancillaryOrdersList": "الخدمات الطبية المساندة",
"youDontHaveAnySickLeavesYet": "ليس لديك أي إجازات مرضية", "youDontHaveAnySickLeavesYet": "ليس لديك أي إجازات مرضية",
"medicalReports": "التقارير الطبية", "medicalReports": "التقارير الطبية",
@ -1538,7 +1538,7 @@
"dailyWaterRemindersScheduledAt": "تم جدولة تذكيرات الماء اليومية في:", "dailyWaterRemindersScheduledAt": "تم جدولة تذكيرات الماء اليومية في:",
"waterConsumption": "استهلاك المياه", "waterConsumption": "استهلاك المياه",
"selectNumberOfReminders": "حدد عدد التذكيرات", "selectNumberOfReminders": "حدد عدد التذكيرات",
"h2oSettings": "إعدادات H20", "h2oSettings": "الاعدادات",
"settingsSavedSuccessfully": "تم حفظ الإعدادات بنجاح", "settingsSavedSuccessfully": "تم حفظ الإعدادات بنجاح",
"yourName": "اسمك", "yourName": "اسمك",
"ageYears": "العمر (11-120) سنة", "ageYears": "العمر (11-120) سنة",
@ -1675,8 +1675,8 @@
"healthTrackersServiceDescription": "أدخل بياناتك لمراقبة معدل ضربات القلب وضغط الدم بشكل مستمر، بالإضافة إلى ملخصات دقيقة لأنشطتك اليومية. ابقَ على اطلاع وحسّن صحتك بسهولة.", "healthTrackersServiceDescription": "أدخل بياناتك لمراقبة معدل ضربات القلب وضغط الدم بشكل مستمر، بالإضافة إلى ملخصات دقيقة لأنشطتك اليومية. ابقَ على اطلاع وحسّن صحتك بسهولة.",
"waterConsumptionServiceHeader": "حافظ على رطوبتك، حافظ على صحتك. تتبع كمية الماء التي تشربها يومياً بكل سهولة.", "waterConsumptionServiceHeader": "حافظ على رطوبتك، حافظ على صحتك. تتبع كمية الماء التي تشربها يومياً بكل سهولة.",
"waterConsumptionServiceDescription": "أروِ عطشك، وتابع صحتك. راقب كمية الماء التي تتناولها يومياً بكل سهولة باستخدام تطبيقنا سهل الاستخدام، مما يضمن لك الترطيب الأمثل والصحة الجيدة.", "waterConsumptionServiceDescription": "أروِ عطشك، وتابع صحتك. راقب كمية الماء التي تتناولها يومياً بكل سهولة باستخدام تطبيقنا سهل الاستخدام، مما يضمن لك الترطيب الأمثل والصحة الجيدة.",
"smartWatchServiceHeader": "قم بمزامنة ساعتك الذكية مع تطبيقات الصحة", "smartWatchServiceHeader": "بكل سهولة، يمكن ربط ساعتك الذكية",
"smartWatchServiceDescription": "قم بتوصيل ساعتك الذكية بسلاسة بتطبيقنا الصحي لتتبع البيانات بسهولة والحصول على رؤى شخصية.", "smartWatchServiceDescription": "يمكنك ربط ساعتك الذكية بالتطبيق الصحي لتتبع بياناتك بسلاسة والحصول على تحليلات مخصصة",
"liveChatServiceHeader": "مساعدة الخبراء على مدار الساعة طوال أيام الأسبوع\n\nمساعدة", "liveChatServiceHeader": "مساعدة الخبراء على مدار الساعة طوال أيام الأسبوع\n\nمساعدة",
"liveChatServiceDescription": "هل تحتاج إلى مساعدة؟ تتيح لك خدمة الدردشة المباشرة لدينا التواصل مع فريق دعم الخبراء للإجابة على أي أسئلة لديك حول الميزات أو الإعدادات أو استكشاف الأخطاء وإصلاحها.", "liveChatServiceDescription": "هل تحتاج إلى مساعدة؟ تتيح لك خدمة الدردشة المباشرة لدينا التواصل مع فريق دعم الخبراء للإجابة على أي أسئلة لديك حول الميزات أو الإعدادات أو استكشاف الأخطاء وإصلاحها.",
"emergencyServiceHeader": "تسجيل الوصول إلى قسم الطوارئ، أسرع من أي وقت مضى. اتصل بالإسعاف / فريق الاستجابة السريعة على الفور", "emergencyServiceHeader": "تسجيل الوصول إلى قسم الطوارئ، أسرع من أي وقت مضى. اتصل بالإسعاف / فريق الاستجابة السريعة على الفور",
@ -1692,7 +1692,7 @@
"cancelAppointmentConfirmMessage": "هل أنت متأكد من رغبتك في إلغاء هذا الموعد؟", "cancelAppointmentConfirmMessage": "هل أنت متأكد من رغبتك في إلغاء هذا الموعد؟",
"acknowledged": "إغلاق", "acknowledged": "إغلاق",
"searchLabResults": "بحث نتائج المختبر", "searchLabResults": "بحث نتائج المختبر",
"callForAssistance": "اتصل للحصول على المساعدة الفورية", "callForAssistance": "دعم فوري عبر الاتصال",
"oneWaySubtitle": "نقل من الموقع إلى المستشفى", "oneWaySubtitle": "نقل من الموقع إلى المستشفى",
"twoWaySubtitle": "نقل من الموقع إلى المستشفى والعودة", "twoWaySubtitle": "نقل من الموقع إلى المستشفى والعودة",
"toHospitalSubtitle": "نقل من موقعك الحالي إلى المستشفى", "toHospitalSubtitle": "نقل من موقعك الحالي إلى المستشفى",

@ -1120,7 +1120,7 @@ class AuthenticationViewModel extends ChangeNotifier {
_dialogService.showPhoneNumberPickerSheet( _dialogService.showPhoneNumberPickerSheet(
// label: "Where would you like to receive OTP?", // label: "Where would you like to receive OTP?",
label: LocaleKeys.receiveOtpToast.tr(), label: LocaleKeys.receiveOtpToast.tr(),
message: _appState.isArabic() ? "يرجى الاختيار من الخيارات أدناه لاستلام رمز التحقق." "Please select from the below options to receive OTP.", message: _appState.isArabic() ? "يرجى الاختيار من الخيارات أدناه لاستلام رمز التحقق." : "Please select from the below options to receive OTP.",
onSMSPress: () { onSMSPress: () {
checkUserAuthentication(otpTypeEnum: OTPTypeEnum.sms); checkUserAuthentication(otpTypeEnum: OTPTypeEnum.sms);
}, },

@ -555,9 +555,9 @@ class _OTPVerificationScreenState extends State<OTPVerificationScreen> {
children: [ children: [
LocaleKeys.weHaveSendOTP.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4), LocaleKeys.weHaveSendOTP.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4),
_getMaskedPhoneNumber().toText15(color: AppColors.inputLabelTextColor, isBold: true), _getMaskedPhoneNumber().toText15(color: AppColors.inputLabelTextColor, isBold: true),
LocaleKeys.via.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4), // LocaleKeys.via.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4),
(widget.isFormFamilyFile ? LoginTypeEnum.sms.displayName : authVM.loginTypeEnum.displayName) // (widget.isFormFamilyFile ? LoginTypeEnum.sms.displayName : authVM.loginTypeEnum.displayName)
.toText15(color: AppColors.inputLabelTextColor, isBold: true, letterSpacing: -0.4), // .toText15(color: AppColors.inputLabelTextColor, isBold: true, letterSpacing: -0.4),
// appState.getUserRegistrationPayload.isRegister != null && appState.getUserRegistrationPayload.isRegister == true // appState.getUserRegistrationPayload.isRegister != null && appState.getUserRegistrationPayload.isRegister == true
// ? LocaleKeys.forRegistrationVerification.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4) // ? LocaleKeys.forRegistrationVerification.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4)
// : LocaleKeys.forLoginVerification.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4), // : LocaleKeys.forLoginVerification.tr(context: context).toText15(color: AppColors.inputLabelTextColor, letterSpacing: -0.4),

@ -39,8 +39,7 @@ class HealthCard extends StatelessWidget {
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: iconBgColor ?? Colors.transparent, borderRadius: 10.r), decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: iconBgColor ?? Colors.transparent, borderRadius: 10.r),
height: 40.w, height: 40.w,
width: 40.w, width: 40.w,
child: Utils.buildSvgWithAssets(icon: icon, fit: BoxFit.none, height: 22.w, width: 22.w, iconColor: iconColor), child: Utils.buildSvgWithAssets(icon: icon, fit: BoxFit.none, height: 22.w, width: 22.w, iconColor: iconColor)),
),
SizedBox(width: 12.h), SizedBox(width: 12.h),
Expanded( Expanded(
child: Column( child: Column(
@ -49,7 +48,7 @@ class HealthCard extends StatelessWidget {
children: [ children: [
Row( Row(
children: [ children: [
labelText.toText16(weight: FontWeight.w600), labelText.toText16(weight: FontWeight.w600,),
], ],
), ),
SizedBox(height: 4.h), SizedBox(height: 4.h),

@ -2,6 +2,8 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/core/app_assets.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_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/core/utils/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/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart'; import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
@ -38,9 +40,9 @@ class WeatherWidget extends StatelessWidget {
return formatter.format(dateTime); return formatter.format(dateTime);
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
AppState appState = getIt<AppState>();
return Selector<WeatherMonitorViewModel, ({bool isLoading, bool isLocationAvailable, List<GetCityInfoList> cityInfoList})>( return Selector<WeatherMonitorViewModel, ({bool isLoading, bool isLocationAvailable, List<GetCityInfoList> cityInfoList})>(
selector: (_, vm) => (isLoading: vm.isLoading, isLocationAvailable: vm.isLocationAvailable, cityInfoList: vm.cityInfoList), selector: (_, vm) => (isLoading: vm.isLoading, isLocationAvailable: vm.isLocationAvailable, cityInfoList: vm.cityInfoList),
builder: (context, state, child) { builder: (context, state, child) {
@ -61,20 +63,12 @@ class WeatherWidget extends StatelessWidget {
Flexible( Flexible(
child: Container( child: Container(
padding: EdgeInsets.all(16.w), padding: EdgeInsets.all(16.w),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.r, hasShadow: false),
color: AppColors.whiteColor,
borderRadius: 24.r,
hasShadow: false,
),
child: Column( child: Column(
children: [ children: [
Row( Row(
children: [ children: [
Utils.buildSvgWithAssets( Utils.buildSvgWithAssets(icon: _getWeatherIcon(currentCity?.categoryValue), width: 64.w, height: 64.w),
icon: _getWeatherIcon(currentCity?.categoryValue),
width: 64.w,
height: 64.w,
),
SizedBox(width: 12.w), SizedBox(width: 12.w),
Expanded( Expanded(
child: Column( child: Column(
@ -103,7 +97,7 @@ class WeatherWidget extends StatelessWidget {
if (showButton) ...[ if (showButton) ...[
SizedBox(height: 16.w), SizedBox(height: 16.w),
CustomButton( CustomButton(
text: LocaleKeys.viewDetails.tr(context: context), text: appState.isArabic() ?"مؤشرات الطقس الصحية" : "Health weather indicators",
onPressed: () { onPressed: () {
Navigator.of(context).push( Navigator.of(context).push(
CustomPageRoute( CustomPageRoute(
@ -134,7 +128,7 @@ class WeatherWidget extends StatelessWidget {
); );
} }
Widget noWeatherWidget(BuildContext context){ Widget noWeatherWidget(BuildContext context) {
return Container( return Container(
padding: EdgeInsets.all(16.w), padding: EdgeInsets.all(16.w),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
@ -142,10 +136,9 @@ class WeatherWidget extends StatelessWidget {
borderRadius: 24.r, borderRadius: 24.r,
hasShadow: false, hasShadow: false,
), ),
child:Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Container( Container(
height: 48.h, height: 48.h,
width: 48.h, width: 48.h,
@ -156,16 +149,9 @@ class WeatherWidget extends StatelessWidget {
), ),
child: Padding( child: Padding(
padding: EdgeInsets.all(12.h), padding: EdgeInsets.all(12.h),
child: Utils.buildSvgWithAssets( child: Utils.buildSvgWithAssets(icon: AppAssets.location_unavailable_filled, fit: BoxFit.contain, applyThemeColor: false),
icon: AppAssets.location_unavailable_filled,
fit: BoxFit.contain,
applyThemeColor: false
), ),
), ),
),
SizedBox(width: 12.w), SizedBox(width: 12.w),
Expanded( Expanded(
child: Column( child: Column(
@ -178,7 +164,6 @@ class WeatherWidget extends StatelessWidget {
color: AppColors.greyTextColor, color: AppColors.greyTextColor,
), ),
SizedBox(height: 4.w), SizedBox(height: 4.w),
"--".toText16( "--".toText16(
isBold: true, isBold: true,
weight: FontWeight.w600, weight: FontWeight.w600,
@ -193,7 +178,7 @@ class WeatherWidget extends StatelessWidget {
), ),
), ),
], ],
)).onPress((){ )).onPress(() {
context.read<WeatherMonitorViewModel>().fetchCityInfoList(); context.read<WeatherMonitorViewModel>().fetchCityInfoList();
}); });
} }
@ -259,4 +244,3 @@ class WeatherWidget extends StatelessWidget {
); );
} }
} }

@ -53,7 +53,7 @@ class _PatientSickleavesListPageState extends State<PatientSickleavesListPage> {
return Scaffold( return Scaffold(
backgroundColor: AppColors.bgScaffoldColor, backgroundColor: AppColors.bgScaffoldColor,
body: CollapsingListView( body: CollapsingListView(
title: "${LocaleKeys.sickSubtitle.tr(context: context)} ${LocaleKeys.sick.tr(context: context)}", title: "${LocaleKeys.sickSubtitle.tr(context: context)} ${LocaleKeys.sick2.tr(context: context)}",
child: SingleChildScrollView( child: SingleChildScrollView(
child: Consumer<MedicalFileViewModel>(builder: (context, model, child) { child: Consumer<MedicalFileViewModel>(builder: (context, model, child) {
return Column( return Column(

@ -24,6 +24,7 @@ class InvoiceListCard extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
AppState appState = getIt<AppState>();
return Container( return Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor, color: AppColors.whiteColor,
@ -44,11 +45,11 @@ class InvoiceListCard extends StatelessWidget {
AppCustomChipWidget( AppCustomChipWidget(
icon: AppAssets.walkin_appointment_icon, icon: AppAssets.walkin_appointment_icon,
iconColor: AppColors.textColor, iconColor: AppColors.textColor,
labelText: LocaleKeys.walkin.tr(context: context), labelText: LocaleKeys.walkin.tr(),
textColor: AppColors.textColor, textColor: AppColors.textColor,
), ),
AppCustomChipWidget( AppCustomChipWidget(
labelText: LocaleKeys.outPatient.tr(context: context), labelText: appState.isArabic() ? "العيادات الخارجيه" :"Out Patient",
backgroundColor: AppColors.warningColorYellow.withValues(alpha: 0.1), backgroundColor: AppColors.warningColorYellow.withValues(alpha: 0.1),
textColor: AppColors.warningColorYellow, textColor: AppColors.warningColorYellow,
), ),

@ -1,6 +1,8 @@
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/core/app_assets.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/size_utils.dart';
import 'package:hmg_patient_app_new/core/utils/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/string_extensions.dart';
@ -24,6 +26,7 @@ class PrescriptionDeliveryOrderSummaryPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
prescriptionsViewModel = Provider.of<PrescriptionsViewModel>(context, listen: false); prescriptionsViewModel = Provider.of<PrescriptionsViewModel>(context, listen: false);
AppState appState = getIt<AppState>();
return Scaffold( return Scaffold(
backgroundColor: AppColors.bgScaffoldColor, backgroundColor: AppColors.bgScaffoldColor,
body: Column( body: Column(
@ -116,7 +119,7 @@ class PrescriptionDeliveryOrderSummaryPage extends StatelessWidget {
hasShadow: true, hasShadow: true,
), ),
child: CustomButton( child: CustomButton(
text: LocaleKeys.submit.tr(context: context), text: appState.isArabic() ? "ارسال" : "Submit",
onPressed: () async { onPressed: () async {
LoaderBottomSheet.showLoader(loadingText: LocaleKeys.loadingText.tr(context: context)); LoaderBottomSheet.showLoader(loadingText: LocaleKeys.loadingText.tr(context: context));
await prescriptionsViewModel.submitPrescriptionDeliveryRequest( await prescriptionsViewModel.submitPrescriptionDeliveryRequest(

@ -2,6 +2,8 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart'; import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:hmg_patient_app_new/core/app_assets.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/size_utils.dart';
import 'package:hmg_patient_app_new/core/utils/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/string_extensions.dart';
@ -20,6 +22,7 @@ class PrescriptionDeliveryOrdersListPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
AppState appState = getIt<AppState>();
return Scaffold( return Scaffold(
backgroundColor: AppColors.bgScaffoldColor, backgroundColor: AppColors.bgScaffoldColor,
body: CollapsingListView( body: CollapsingListView(
@ -58,8 +61,7 @@ class PrescriptionDeliveryOrdersListPage extends StatelessWidget {
margin: EdgeInsets.symmetric(vertical: 8.h), margin: EdgeInsets.symmetric(vertical: 8.h),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 20.h, hasShadow: true), decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 20.h, hasShadow: true),
child: InkWell( child: InkWell(
onTap: () { onTap: () {},
},
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -70,7 +72,9 @@ class PrescriptionDeliveryOrdersListPage extends StatelessWidget {
spacing: 8.h, spacing: 8.h,
children: [ children: [
RequestStatus(status: model.prescriptionsOrderList[index].statusId ?? 0), RequestStatus(status: model.prescriptionsOrderList[index].statusId ?? 0),
"Req ID: ${model.prescriptionsOrderList[index].iD}".toText16(color: AppColors.textColor, isBold: true), appState.isArabic()
? " رقم الطلب: ${model.prescriptionsOrderList[index].iD}".toText16(color: AppColors.textColor, isBold: true)
: "Req ID: ${model.prescriptionsOrderList[index].iD}".toText16(color: AppColors.textColor, isBold: true),
Row( Row(
spacing: 4.w, spacing: 4.w,
children: [ children: [

@ -54,6 +54,7 @@ class SmartwatchHomePage extends StatelessWidget {
fontSize: 16.f, fontSize: 16.f,
isBold: true, isBold: true,
borderRadius: 12.r, borderRadius: 12.r,
height: 50.h, height: 50.h,
icon: AppAssets.ask_doctor_icon, icon: AppAssets.ask_doctor_icon,
iconColor: AppColors.infoColor, iconColor: AppColors.infoColor,
@ -100,7 +101,7 @@ class SmartwatchHomePage extends StatelessWidget {
backgroundColor: AppColors.primaryRedColor.withAlpha(40), backgroundColor: AppColors.primaryRedColor.withAlpha(40),
borderColor: AppColors.primaryRedColor.withAlpha(0), borderColor: AppColors.primaryRedColor.withAlpha(0),
textColor: AppColors.primaryRedColor, textColor: AppColors.primaryRedColor,
fontSize: 16.f, fontSize: 14.f,
isBold: true, isBold: true,
borderRadius: 12.r, borderRadius: 12.r,
height: 40.h, height: 40.h,
@ -132,7 +133,7 @@ class SmartwatchHomePage extends StatelessWidget {
backgroundColor: AppColors.primaryRedColor.withAlpha(40), backgroundColor: AppColors.primaryRedColor.withAlpha(40),
borderColor: AppColors.primaryRedColor.withAlpha(0), borderColor: AppColors.primaryRedColor.withAlpha(0),
textColor: AppColors.primaryRedColor, textColor: AppColors.primaryRedColor,
fontSize: 16.f, fontSize: 14.f,
isBold: true, isBold: true,
borderRadius: 12.r, borderRadius: 12.r,
height: 40.h, height: 40.h,
@ -166,7 +167,7 @@ class SmartwatchHomePage extends StatelessWidget {
backgroundColor: AppColors.primaryRedColor.withAlpha(40), backgroundColor: AppColors.primaryRedColor.withAlpha(40),
borderColor: AppColors.primaryRedColor.withAlpha(0), borderColor: AppColors.primaryRedColor.withAlpha(0),
textColor: AppColors.primaryRedColor, textColor: AppColors.primaryRedColor,
fontSize: 16.f, fontSize: 14.f,
isBold: true, isBold: true,
borderRadius: 12.r, borderRadius: 12.r,
height: 40.h, height: 40.h,
@ -201,7 +202,7 @@ class SmartwatchHomePage extends StatelessWidget {
backgroundColor: AppColors.primaryRedColor.withAlpha(40), backgroundColor: AppColors.primaryRedColor.withAlpha(40),
borderColor: AppColors.primaryRedColor.withAlpha(0), borderColor: AppColors.primaryRedColor.withAlpha(0),
textColor: AppColors.primaryRedColor, textColor: AppColors.primaryRedColor,
fontSize: 16.f, fontSize: 14.f,
isBold: true, isBold: true,
borderRadius: 12.r, borderRadius: 12.r,
height: 40.h, height: 40.h,

Loading…
Cancel
Save