improvements

merge-update-with-lab-changes
Sikander Saleem 5 years ago
parent df31c82fd5
commit 6099738a5c

@ -61,6 +61,9 @@ const Map localizedValues = {
'neverWait': {'en': 'Never wait in queue', 'ar': 'لا تنتظر في قائمة الانتظار'}, 'neverWait': {'en': 'Never wait in queue', 'ar': 'لا تنتظر في قائمة الانتظار'},
'reminderTitle': {'en': 'You have appointment with Dr. ', 'ar': 'لديك موعد مع د'}, 'reminderTitle': {'en': 'You have appointment with Dr. ', 'ar': 'لديك موعد مع د'},
'appointmentCalendar': {'en': 'Would you like to set a reminder for this appointment in your calendar?', 'ar': 'هل ترغب في تعيين تذكير لهذا الموعد في التقويم الخاص بك؟'}, 'appointmentCalendar': {'en': 'Would you like to set a reminder for this appointment in your calendar?', 'ar': 'هل ترغب في تعيين تذكير لهذا الموعد في التقويم الخاص بك؟'},
'appointmentReminder': {'en': 'Would you like to set a reminder for this appointment?', 'ar': 'هل ترغب في تعيين تذكير لهذا الموعد؟'},
'prescriptionReminder': {'en': 'Would you like to set a reminder for this prescription?', 'ar': 'هل ترغب في تعيين تذكير لهذه الوصفة؟'},
'please_select_from_below_options': {'en': 'Please select from below options:', 'ar': 'الرجاء التحديد من الخيارات أدناه:'},
'appointmentSuccess': {'en': 'Appointment is successfully booked', 'ar': 'تم حجز الموعد بنجاح'}, 'appointmentSuccess': {'en': 'Appointment is successfully booked', 'ar': 'تم حجز الموعد بنجاح'},
'docQualifications': {'en': 'Doctor Qualifications', 'ar': 'مؤهلات الطبيب'}, 'docQualifications': {'en': 'Doctor Qualifications', 'ar': 'مؤهلات الطبيب'},
'pressAgain': {'en': 'Press again to exit the app', 'ar': 'اضغط مرة أخرى للخروج من التطبيق'}, 'pressAgain': {'en': 'Press again to exit the app', 'ar': 'اضغط مرة أخرى للخروج من التطبيق'},
@ -916,7 +919,8 @@ const Map localizedValues = {
"iAcceptTermsConditions": {"en": "I Accept the Terms And Conditions", "ar": "أوافق على الشروط والأحكام"}, "iAcceptTermsConditions": {"en": "I Accept the Terms And Conditions", "ar": "أوافق على الشروط والأحكام"},
"YouCanPayByTheFollowingOptions": {"en": "You can pay by the following Options:", "ar": "يمكنك الدفع عن طريق الخيارات التالية:"}, "YouCanPayByTheFollowingOptions": {"en": "You can pay by the following Options:", "ar": "يمكنك الدفع عن طريق الخيارات التالية:"},
"RRTDDetails": { "RRTDDetails": {
"en": "The RRT service provides medical service for urgent and stable cases, not life-threatening situations or extremities, and the service includes providing medical care from a complete medical team at home.", "en":
"The RRT service provides medical service for urgent and stable cases, not life-threatening situations or extremities, and the service includes providing medical care from a complete medical team at home.",
"ar": "توفر خدمة فريق الاستجابة السريع RRT خدمه طبيه للحالات المستعجله والمستقره وليست الحالات المهدده للحياه او الاطراف ، وتشمل الخدمه تقديم رعايه طبيه من فريق طبي متكامل بالمنزل." "ar": "توفر خدمة فريق الاستجابة السريع RRT خدمه طبيه للحالات المستعجله والمستقره وليست الحالات المهدده للحياه او الاطراف ، وتشمل الخدمه تقديم رعايه طبيه من فريق طبي متكامل بالمنزل."
}, },
"rrtService": {"en": "RRT Service", "ar": "خدمة RRT"}, "rrtService": {"en": "RRT Service", "ar": "خدمة RRT"},
@ -1119,7 +1123,7 @@ const Map localizedValues = {
"en": "\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location", "en": "\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location",
"ar": "\nتعرض هذه الخدمة أقرب فرع\n من بين جميع فروع مجموعة \nالحبيب الطبية بناءً على موقعك الحالي." "ar": "\nتعرض هذه الخدمة أقرب فرع\n من بين جميع فروع مجموعة \nالحبيب الطبية بناءً على موقعك الحالي."
}, },
"NearestEr": {"en": "Nearest ER", "ar":"اقرب طوارئ"}, "NearestEr": {"en": "Nearest ER", "ar": "اقرب طوارئ"},
"infoCMC": { "infoCMC": {
"en": "Through this service, you can request a set of tests that help you and your doctor to understand the current health condition and then identify potential risks.", "en": "Through this service, you can request a set of tests that help you and your doctor to understand the current health condition and then identify potential risks.",
"ar": "من خلال هذه الخدمة يمكنك طلب مجموعة من الفحوصات التي تساعدك وتساعد طبيبك في فهم حالتك الصحية الحالية ومن ثم تحديد المخاطر المحتملة" "ar": "من خلال هذه الخدمة يمكنك طلب مجموعة من الفحوصات التي تساعدك وتساعد طبيبك في فهم حالتك الصحية الحالية ومن ثم تحديد المخاطر المحتملة"
@ -1508,18 +1512,18 @@ const Map localizedValues = {
"secondTri": {"en": "Second Trimester Ends (27 weeks):", "ar": "تاريخ انتهاء الثلث الثاني 27 اسبوع: "}, "secondTri": {"en": "Second Trimester Ends (27 weeks):", "ar": "تاريخ انتهاء الثلث الثاني 27 اسبوع: "},
"thirdTri": {"en": "Third Trimester, Estimated Due Date (40 weeks):", "ar": "تاريخ احتمال الولادة 40 اسبوع:"}, "thirdTri": {"en": "Third Trimester, Estimated Due Date (40 weeks):", "ar": "تاريخ احتمال الولادة 40 اسبوع:"},
"seeDoctorsList": {"en": "See List Of Doctors", "ar": "اعرض قائمة الأطباء"}, "seeDoctorsList": {"en": "See List Of Doctors", "ar": "اعرض قائمة الأطباء"},
"covidQuestionnaire": { "en": "Please answer below questionnaire:", "ar": "الرجاء الإجابة على الاستبيان أدناه:" }, "covidQuestionnaire": {"en": "Please answer below questionnaire:", "ar": "الرجاء الإجابة على الاستبيان أدناه:"},
"covidBookAppo": { "en": "Booking Appointment For: ", "ar": "موعد الحجز لـ: " }, "covidBookAppo": {"en": "Booking Appointment For: ", "ar": "موعد الحجز لـ: "},
"emptySchedule": { "en": "Doctor has no schedule.", "ar": "لا يوجد جدول حضور مسجل للطبيب" }, "emptySchedule": {"en": "Doctor has no schedule.", "ar": "لا يوجد جدول حضور مسجل للطبيب"},
"serviceNotAvailable": { "en": "Dear, this service is not available now, please try again later", "ar": "عزيزي المراجع, هذه الخدمة غير متوفرة الان يرجى المحاوله لاحقا"}, "serviceNotAvailable": {"en": "Dear, this service is not available now, please try again later", "ar": "عزيزي المراجع, هذه الخدمة غير متوفرة الان يرجى المحاوله لاحقا"},
"doctorScheduleNot": {"en": "Doctor schedule not available", "ar": "جدول الطبيب غير متوفر"}, "doctorScheduleNot": {"en": "Doctor schedule not available", "ar": "جدول الطبيب غير متوفر"},
"RRTRequestSuccess": { "en": "Request has been sent successfully, You will be contacted soon.", "ar": "تم إرسال الطلب بنجاح ، وسيتم الاتصال بك باسرع وقت ممكن" }, "RRTRequestSuccess": {"en": "Request has been sent successfully, You will be contacted soon.", "ar": "تم إرسال الطلب بنجاح ، وسيتم الاتصال بك باسرع وقت ممكن"},
"rateDoctorAppo": { "en": "Rate DR & Appointment", "ar": "معدل الدكتور والتعيين" }, "rateDoctorAppo": {"en": "Rate DR & Appointment", "ar": "معدل الدكتور والتعيين"},
"invoice": { "en": "Invoice", "ar": "الفاتورة" }, "invoice": {"en": "Invoice", "ar": "الفاتورة"},
"requestedDate": { "en": "Requested Date", "ar": "التاريخ " }, "requestedDate": {"en": "Requested Date", "ar": "التاريخ "},
"callDuration": { "en": "Call Duration", "ar": "مدة الاتصال" }, "callDuration": {"en": "Call Duration", "ar": "مدة الاتصال"},
"alreadyRated": { "en": "This appointment has been previously evaluated.", "ar": "تم تقييم هذا الموعد مسبقاً" }, "alreadyRated": {"en": "This appointment has been previously evaluated.", "ar": "تم تقييم هذا الموعد مسبقاً"},
"insuranceCompany": { "en": "Insurance Company", "ar": "شركة تأمين" }, "insuranceCompany": {"en": "Insurance Company", "ar": "شركة تأمين"},
"preferredBranch": {"en": "Preferred Branch", "ar": "الفرع المفضل"}, "preferredBranch": {"en": "Preferred Branch", "ar": "الفرع المفضل"},
"selectPreferredBranch": {"en": "Select Preferred Branch", "ar": "اختر الفرع المفضل"}, "selectPreferredBranch": {"en": "Select Preferred Branch", "ar": "اختر الفرع المفضل"},
"patientLocated": {"en": "Where the patient located", "ar": "اين موقع المريض"}, "patientLocated": {"en": "Where the patient located", "ar": "اين موقع المريض"},

@ -99,7 +99,11 @@ class DoctorView extends StatelessWidget {
filledIcon: Icons.star, filledIcon: Icons.star,
emptyIcon: Icons.star_border, emptyIcon: Icons.star_border,
), ),
if (isShowFlag) Image.network(this.doctor.nationalityFlagURL, width: 22.0, height: 22.0) Icon(
Icons.arrow_forward,
color: Theme.of(context).primaryColor,
),
// if (isShowFlag) Image.network(this.doctor.nationalityFlagURL, width: 22.0, height: 22.0)
], ],
), ),
], ],

@ -115,7 +115,7 @@ class _ReminderDialogState extends State<ReminderDialog> {
), ),
mHeight(20), mHeight(20),
Text( Text(
"When would you like to set a reminder for this appointment?", TranslationBase.of(context).appointmentReminder,
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 16,
color: Color(0xff2B353E), color: Color(0xff2B353E),
@ -125,7 +125,7 @@ class _ReminderDialogState extends State<ReminderDialog> {
), ),
mHeight(20), mHeight(20),
Text( Text(
"Please select from below options:", TranslationBase.of(context).pleaseSelectFromBelowOptions,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
color: Color(0xff2B353E), color: Color(0xff2B353E),
@ -135,7 +135,7 @@ class _ReminderDialogState extends State<ReminderDialog> {
), ),
ListTile( ListTile(
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
title: const Text('Before 30 Mins'), title: Text(TranslationBase.of(context).appoReminder30),
leading: Radio<int>( leading: Radio<int>(
value: 0, value: 0,
groupValue: i, groupValue: i,
@ -148,7 +148,7 @@ class _ReminderDialogState extends State<ReminderDialog> {
), ),
ListTile( ListTile(
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
title: const Text('Before 1 Hour'), title: Text(TranslationBase.of(context).appoReminder60),
leading: Radio<int>( leading: Radio<int>(
value: 1, value: 1,
groupValue: i, groupValue: i,
@ -161,7 +161,7 @@ class _ReminderDialogState extends State<ReminderDialog> {
), ),
ListTile( ListTile(
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
title: const Text('Before 1 Hour and 30 Mins'), title: Text(TranslationBase.of(context).appoReminder90),
leading: Radio<int>( leading: Radio<int>(
value: 2, value: 2,
groupValue: i, groupValue: i,
@ -174,7 +174,7 @@ class _ReminderDialogState extends State<ReminderDialog> {
), ),
ListTile( ListTile(
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
title: const Text('Before 2 Hours'), title: Text(TranslationBase.of(context).appoReminder120),
leading: Radio<int>( leading: Radio<int>(
value: 3, value: 3,
groupValue: i, groupValue: i,

@ -181,6 +181,32 @@ class PrescriptionDetailsPage extends StatelessWidget {
}, },
); );
return; return;
showGeneralDialog(
barrierColor: Colors.black.withOpacity(0.5),
transitionBuilder: (context, a1, a2, widget) {
final curvedValue = Curves.easeInOutBack.transform(a1.value) - 1.0;
return Transform(
transform: Matrix4.translationValues(0.0, curvedValue * 200, 0.0),
child: Opacity(
opacity: a1.value,
child: PrescriptionReminderDialog(
eventId: prescriptionReport.itemID.toString(),
title: "${prescriptionReport.itemDescriptionN} Prescription Reminder",
description: "${prescriptionReport.itemDescriptionN} ${prescriptionReport.frequencyN} ${prescriptionReport.routeN} ",
startDate: startDate,
endDate: endDate,
location: prescriptionReport.remarks,
days: 1,
),
),
);
},
transitionDuration: Duration(milliseconds: 500),
barrierDismissible: true,
barrierLabel: '',
context: context,
pageBuilder: (context, animation1, animation2) {});
}, },
iconData: Icons.notifications_active, iconData: Icons.notifications_active,
color: Color(0xffEAEAEA), color: Color(0xffEAEAEA),

@ -108,6 +108,11 @@ class TranslationBase {
String get appointmentCalendar => localizedValues['appointmentCalendar'][locale.languageCode]; String get appointmentCalendar => localizedValues['appointmentCalendar'][locale.languageCode];
String get appointmentReminder => localizedValues['appointmentReminder'][locale.languageCode];
String get prescriptionReminder => localizedValues['prescriptionReminder'][locale.languageCode];
String get pleaseSelectFromBelowOptions => localizedValues['please_select_from_below_options'][locale.languageCode];
String get appointmentSuccess => localizedValues['appointmentSuccess'][locale.languageCode]; String get appointmentSuccess => localizedValues['appointmentSuccess'][locale.languageCode];
String get confirm => localizedValues['confirm'][locale.languageCode]; String get confirm => localizedValues['confirm'][locale.languageCode];
@ -2325,7 +2330,6 @@ class TranslationBase {
String get rateDoctor => localizedValues["rateDoctor"][locale.languageCode]; String get rateDoctor => localizedValues["rateDoctor"][locale.languageCode];
String get rateAppointment => localizedValues["rateAppointment"][locale.languageCode]; String get rateAppointment => localizedValues["rateAppointment"][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -94,17 +94,19 @@ class DoctorCard extends StatelessWidget {
), ),
) )
: BoxDecoration(), : BoxDecoration(),
child: isShowInOutPatient ? RotatedBox( child: isShowInOutPatient
quarterTurns: 3, ? RotatedBox(
child: Text( quarterTurns: 3,
isLiveCareAppointment child: Text(
? TranslationBase.of(context).liveCare.toLowerCase().capitalizeFirstofEach isLiveCareAppointment
: !isInOutPatient ? TranslationBase.of(context).liveCare.toLowerCase().capitalizeFirstofEach
? TranslationBase.of(context).inPatient.toLowerCase().capitalizeFirstofEach : !isInOutPatient
: TranslationBase.of(context).outpatient.toLowerCase().capitalizeFirstofEach, ? TranslationBase.of(context).inPatient.toLowerCase().capitalizeFirstofEach
style: TextStyle(fontSize: 10, fontWeight: FontWeight.w700, color: Colors.white, letterSpacing: -0.2, height: 16 / 10), : TranslationBase.of(context).outpatient.toLowerCase().capitalizeFirstofEach,
), style: TextStyle(fontSize: 10, fontWeight: FontWeight.w700, color: Colors.white, letterSpacing: -0.2, height: 16 / 10),
) : Container(), ),
)
: Container(),
), ),
Expanded( Expanded(
child: Padding( child: Padding(
@ -147,6 +149,7 @@ class DoctorCard extends StatelessWidget {
), ),
Row( Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
LargeAvatar( LargeAvatar(
name: name, name: name,
@ -201,14 +204,24 @@ class DoctorCard extends StatelessWidget {
], ],
), ),
), ),
if (onEmailTap != null && projectViewModel.havePrivilege(17)) SizedBox(
InkWell( height: 48,
onTap: onEmailTap, child: Align(
child: Icon( alignment: Alignment.bottomCenter,
Icons.email, child: (onEmailTap != null && projectViewModel.havePrivilege(17))
color: Theme.of(context).primaryColor, ? InkWell(
), onTap: onEmailTap,
child: Icon(
Icons.email,
color: Theme.of(context).primaryColor,
),
)
: Icon(
Icons.arrow_forward,
color: Theme.of(context).primaryColor,
),
), ),
),
], ],
), ),
], ],

Loading…
Cancel
Save