diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 2f0f6e82..43aa0605 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -1865,5 +1865,7 @@ const Map localizedValues = { "enter-workplace-name": {"en": "Please enter your workplace name:", "ar": "رجاء إدخال مكان العمل:"}, "workplaceName": {"en": "Workplace name:", "ar": "مكان العمل:"}, "callLiveCareSupport": {"en": "Call LiveCare Support", "ar": "اتصل بدعم لايف كير"}, - "needApproval": {"en": "Your sick leave under process in medical administration, you will be notified once approved.", "ar": "جازتك المرضية تحت الإجراء في الإدارة الطبية ، سوف يتم إشعارك فور الموافقه عليها."}, + "needApproval": {"en": "Your sick leave is under process in medical administration, you will be notified once approved.", "ar": "جازتك المرضية تحت الإجراء في الإدارة الطبية ، سوف يتم إشعارك فور الموافقه عليها."}, + "pendingActivation": {"en": "Pending Activation", "ar": "في انتظار التنشيط"}, + "awaitingApproval": {"en": "Awaiting Approval", "ar": "انتظر القبول"}, }; diff --git a/lib/pages/medical/patient_sick_leave_page.dart b/lib/pages/medical/patient_sick_leave_page.dart index 98518011..f132741e 100644 --- a/lib/pages/medical/patient_sick_leave_page.dart +++ b/lib/pages/medical/patient_sick_leave_page.dart @@ -57,6 +57,8 @@ class _PatientSickLeavePageState extends State { subName: model.sickLeaveList[index].clinicName, isSortByClinic: false, isInOutPatient: model.sickLeaveList[index].isInOutPatient, + isSickLeave: true, + sickLeaveStatus: model.sickLeaveList[index].status, onEmailTap: () { showConfirmMessage(model, index); }, diff --git a/lib/uitl/translations_delegate_base.dart b/lib/uitl/translations_delegate_base.dart index 0043623d..6311ff9b 100644 --- a/lib/uitl/translations_delegate_base.dart +++ b/lib/uitl/translations_delegate_base.dart @@ -2874,6 +2874,8 @@ class TranslationBase { String get workplaceName => localizedValues["workplaceName"][locale.languageCode]; String get needApproval => localizedValues["needApproval"][locale.languageCode]; String get callLiveCareSupport => localizedValues["callLiveCareSupport"][locale.languageCode]; + String get pendingActivation => localizedValues["pendingActivation"][locale.languageCode]; + String get awaitingApproval => localizedValues["awaitingApproval"][locale.languageCode]; } diff --git a/lib/widgets/data_display/medical/doctor_card.dart b/lib/widgets/data_display/medical/doctor_card.dart index 7f67a253..d58dccf3 100644 --- a/lib/widgets/data_display/medical/doctor_card.dart +++ b/lib/widgets/data_display/medical/doctor_card.dart @@ -30,6 +30,8 @@ class DoctorCard extends StatelessWidget { final bool isParentAppointment; final int remainingTimeInMinutes; final String vaccineName; + final bool isSickLeave; + final int sickLeaveStatus; DoctorCard( {this.name, @@ -47,7 +49,9 @@ class DoctorCard extends StatelessWidget { this.remainingTimeInMinutes, this.isShowInOutPatient = true, this.vaccineName = "", - this.isParentAppointment = false}); + this.isParentAppointment = false, + this.isSickLeave = false, + this.sickLeaveStatus = 0}); ProjectViewModel projectViewModel; @@ -55,7 +59,7 @@ class DoctorCard extends StatelessWidget { Widget build(BuildContext context) { projectViewModel = Provider.of(context); return Container( - height: 128, + height: 135, decoration: BoxDecoration( borderRadius: BorderRadius.all( Radius.circular(10.0), @@ -117,6 +121,11 @@ class DoctorCard extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ + if (isSickLeave) + Text( + getStatusText(context), + style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: getStatusColor(), letterSpacing: -0.4, height: 16 / 10), + ), Row( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, @@ -237,4 +246,32 @@ class DoctorCard extends StatelessWidget { ), ); } + + String getStatusText(BuildContext context) { + String statusText = ""; + if (sickLeaveStatus == 1) { + statusText = TranslationBase.of(context).pendingActivation; + } else if (sickLeaveStatus == 2) { + statusText = TranslationBase.of(context).ready; + } else if (sickLeaveStatus == 3) { + statusText = TranslationBase.of(context).awaitingApproval; + } else { + statusText = ""; + } + return statusText; + } + + Color getStatusColor() { + Color statusColor = Colors.white; + if (sickLeaveStatus == 1) { + statusColor = Color(0xffCC9B14); + } else if (sickLeaveStatus == 2) { + statusColor = Color(0xff359846); + } else if (sickLeaveStatus == 3) { + statusColor = Color(0xffD02127); + } else { + statusColor = Colors.white; + } + return statusColor; + } }