haroon_dev #308

Merged
Haroon6138 merged 4 commits from haroon_dev into master 2 days ago

@ -179,7 +179,8 @@ dependencies {
implementation("androidx.room:room-runtime:$room_version") implementation("androidx.room:room-runtime:$room_version")
annotationProcessor("androidx.room:room-compiler:$room_version") annotationProcessor("androidx.room:room-compiler:$room_version")
implementation("net.zetetic:android-database-sqlcipher:4.5.4") // implementation("net.zetetic:android-database-sqlcipher:4.6.1")
implementation("net.zetetic:sqlcipher-android:4.6.1@aar")
implementation("com.intuit.ssp:ssp-android:1.1.0") implementation("com.intuit.ssp:ssp-android:1.1.0")
implementation("com.intuit.sdp:sdp-android:1.1.0") implementation("com.intuit.sdp:sdp-android:1.1.0")

@ -1843,5 +1843,6 @@
"weatherIndicators": "طقس", "weatherIndicators": "طقس",
"submitRating": "إرسال التقييم", "submitRating": "إرسال التقييم",
"maxOneFileAllowed": "يمكن رفع ملف واحد فقط", "maxOneFileAllowed": "يمكن رفع ملف واحد فقط",
"fileSizeExceedsLimit": "يجب ألا يتجاوز حجم الملف 1 ميغابايت" "fileSizeExceedsLimit": "يجب ألا يتجاوز حجم الملف 1 ميغابايت",
"completedPrescriptionOrder": "تمت الخدمة"
} }

@ -1833,7 +1833,8 @@
"weatherIndicators": "Weather", "weatherIndicators": "Weather",
"submitRating": "Submit", "submitRating": "Submit",
"maxOneFileAllowed": "Only 1 file can be uploaded", "maxOneFileAllowed": "Only 1 file can be uploaded",
"fileSizeExceedsLimit": "File size must not exceed 1 MB" "fileSizeExceedsLimit": "File size must not exceed 1 MB",
"completedPrescriptionOrder": "Completed"
} }

@ -54,7 +54,7 @@ class ApiConsts {
GET_TAMARA_PAYMENT_STATUS = 'https://mdlaboratories.com/tamaralive/api/OnlineTamara/order_status?orderid='; GET_TAMARA_PAYMENT_STATUS = 'https://mdlaboratories.com/tamaralive/api/OnlineTamara/order_status?orderid=';
rcBaseUrl = 'https://rc.hmg.com/'; rcBaseUrl = 'https://rc.hmg.com/';
QLINE_URL = "https://qline.hmg.com/api/PatientCall/PatientInQueue_Detail"; QLINE_URL = "https://qline.hmg.com/api/PatientCall/PatientInQueue_Detail";
CHAT_URL = "https://chat.hmg.com/Index.aspx?RequestedId="; CHAT_URL = "https://chat.hmg.com/geneysChat/Index.aspx?RequestedId=";
symptomsCheckerApi = symptomsCheckerApiLive; symptomsCheckerApi = symptomsCheckerApiLive;
symptomsCheckerUsername = 'mobile_user'; symptomsCheckerUsername = 'mobile_user';
symptomsCheckerPassword = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'; symptomsCheckerPassword = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92';

@ -1076,11 +1076,11 @@ class MyAppointmentsViewModel extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else if (apiResponse.messageStatus == 1) { } else if (apiResponse.messageStatus == 1) {
appointmentRatedResponseModel = apiResponse.data!; appointmentRatedResponseModel = apiResponse.data!;
isAppointmentRatedResponseLoading = false;
notifyListeners(); notifyListeners();
if (onSuccess != null) { if (onSuccess != null) {
onSuccess(apiResponse.data); onSuccess(apiResponse.data);
} }
isAppointmentRatedResponseLoading = false;
} }
}, },
); );

@ -1,4 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.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/features/my_invoices/models/get_invoice_details_response_model.dart'; import 'package:hmg_patient_app_new/features/my_invoices/models/get_invoice_details_response_model.dart';
import 'package:hmg_patient_app_new/features/my_invoices/models/get_invoices_list_response_model.dart'; import 'package:hmg_patient_app_new/features/my_invoices/models/get_invoices_list_response_model.dart';
import 'package:hmg_patient_app_new/features/my_invoices/my_invoices_repo.dart'; import 'package:hmg_patient_app_new/features/my_invoices/my_invoices_repo.dart';
@ -229,7 +231,7 @@ class MyInvoicesViewModel extends ChangeNotifier {
} else if (filterType == InvoiceFilterType.clinic) { } else if (filterType == InvoiceFilterType.clinic) {
itemName = invoice.clinicName; itemName = invoice.clinicName;
} else if (filterType == InvoiceFilterType.doctor) { } else if (filterType == InvoiceFilterType.doctor) {
itemName = invoice.doctorName; itemName = getIt<AppState>().isArabic() ? invoice.doctorNameN : invoice.doctorName;
} }
if (itemName != null && itemName.isNotEmpty) { if (itemName != null && itemName.isNotEmpty) {

@ -1836,5 +1836,6 @@ abstract class LocaleKeys {
static const submitRating = 'submitRating'; static const submitRating = 'submitRating';
static const maxOneFileAllowed = 'maxOneFileAllowed'; static const maxOneFileAllowed = 'maxOneFileAllowed';
static const fileSizeExceedsLimit = 'fileSizeExceedsLimit'; static const fileSizeExceedsLimit = 'fileSizeExceedsLimit';
static const completedPrescriptionOrder = 'completedPrescriptionOrder';
} }

@ -656,7 +656,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
crossAxisCount: 3, crossAxisCount: 3,
crossAxisSpacing: 16.h, crossAxisSpacing: 16.h,
mainAxisSpacing: 16.w, mainAxisSpacing: 16.w,
childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.1 : 0.78), childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98),
), ),
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
padding: EdgeInsets.zero, padding: EdgeInsets.zero,

@ -162,9 +162,11 @@ class AppointmentDoctorCard extends StatelessWidget {
], ],
), ),
), ),
patientAppointmentHistoryResponseModel.isLiveCareAppointment! || (patientAppointmentHistoryResponseModel.isLiveCareAppointment! ||
patientAppointmentHistoryResponseModel.isExecludeDoctor! ||
patientAppointmentHistoryResponseModel.isClinicReBookingAllowed! == false || patientAppointmentHistoryResponseModel.isClinicReBookingAllowed! == false ||
patientAppointmentHistoryResponseModel.isActiveDoctor! == false patientAppointmentHistoryResponseModel.isActiveDoctor! == false ||
!Utils.isClinicAllowedForRebook(patientAppointmentHistoryResponseModel.clinicID))
? SizedBox.shrink() ? SizedBox.shrink()
: Utils.buildSvgWithAssets(icon: AppAssets.doctor_profile_icon, width: 20.h, height: 20.h, fit: BoxFit.scaleDown) : Utils.buildSvgWithAssets(icon: AppAssets.doctor_profile_icon, width: 20.h, height: 20.h, fit: BoxFit.scaleDown)
.onPress(() async { .onPress(() async {

@ -100,7 +100,6 @@ class _SavedLogin extends State<SavedLogin> {
child: Column( child: Column(
children: [ children: [
// Last login info - show WhatsApp only if isOther AND loginType is SMS // Last login info - show WhatsApp only if isOther AND loginType is SMS
("${LocaleKeys.lastLoginBy.tr()} ${(isOther == true && loginType == LoginTypeEnum.sms) ? LoginTypeEnum.whatsapp.displayName : loginType.displayName}") ("${LocaleKeys.lastLoginBy.tr()} ${(isOther == true && loginType == LoginTypeEnum.sms) ? LoginTypeEnum.whatsapp.displayName : loginType.displayName}")
.toText14(isBold: true, color: AppColors.greyTextColor, letterSpacing: -1), .toText14(isBold: true, color: AppColors.greyTextColor, letterSpacing: -1),
Directionality( Directionality(
@ -251,7 +250,7 @@ class _SavedLogin extends State<SavedLogin> {
}), }),
); );
}, },
height: isFoldable ? 50.h : 40.h, height: isFoldable ? 56.h : 50.h,
backgroundColor: AppColors.whiteColor, backgroundColor: AppColors.whiteColor,
borderColor: AppColors.borderOnlyColor, borderColor: AppColors.borderOnlyColor,
textColor: AppColors.textColor, textColor: AppColors.textColor,

@ -133,7 +133,7 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
children: [ children: [
Image.network( Image.network(
"https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png", "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
width: 64.w, width: 64.h,
height: 64.h, height: 64.h,
fit: BoxFit.cover, fit: BoxFit.cover,
).circle(100).toShimmer2(isShow: true, radius: 50.r), ).circle(100).toShimmer2(isShow: true, radius: 50.r),
@ -172,7 +172,7 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
), ),
SizedBox(height: 16.h), SizedBox(height: 16.h),
SizedBox( SizedBox(
height: 110.h, height: 115.h,
child: ListView.separated( child: ListView.separated(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
itemCount: myAppointmentsVM.patientMyDoctorsList.length, itemCount: myAppointmentsVM.patientMyDoctorsList.length,

@ -475,7 +475,7 @@ class _ServicesPageState extends State<ServicesPage> {
ConstrainedBox( ConstrainedBox(
constraints: BoxConstraints( constraints: BoxConstraints(
minHeight: 320.h, minHeight: 320.h,
maxHeight: isFoldable ? 400.h : (isTablet ? 360.h : 340.h), maxHeight: isFoldable ? 380.h : (isTablet ? 370.h : 340.h),
), ),
child: ListView.separated( child: ListView.separated(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,

@ -418,7 +418,8 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
return ConstrainedBox( return ConstrainedBox(
constraints: BoxConstraints( constraints: BoxConstraints(
minHeight: 135.h, 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( child: PageView(
controller: hmgServicesVM.vitalSignPageController, controller: hmgServicesVM.vitalSignPageController,
@ -628,6 +629,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
crossAxisCount: 3, crossAxisCount: 3,
crossAxisSpacing: 10.h, crossAxisSpacing: 10.h,
mainAxisSpacing: 16.w, mainAxisSpacing: 16.w,
childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98),
// mainAxisExtent: 120.h, // mainAxisExtent: 120.h,
), ),
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
@ -719,7 +721,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
return ConstrainedBox( return ConstrainedBox(
constraints: BoxConstraints( constraints: BoxConstraints(
minHeight: 150.h, minHeight: 150.h,
maxHeight: isFoldable ? 230.h : (isTablet ? 240.h : 180.h), maxHeight: isFoldable ? 210.h : (isTablet ? 200.h : 180.h),
), ),
child: myAppointmentsVM.isMyAppointmentsLoading child: myAppointmentsVM.isMyAppointmentsLoading
? MedicalFileAppointmentCard( ? MedicalFileAppointmentCard(
@ -1173,7 +1175,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
GridView( GridView(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3, crossAxisCount: 3,
childAspectRatio: 1, childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98),
crossAxisSpacing: 10.h, crossAxisSpacing: 10.h,
), ),
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
@ -1277,10 +1279,10 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
context, context,
noDataText: LocaleKeys.youDontHaveAnySickLeavesYet.tr(context: context), noDataText: LocaleKeys.youDontHaveAnySickLeavesYet.tr(context: context),
isSmallWidget: true, isSmallWidget: true,
width: 62.w, width: 62.h,
height: 62.h, height: 62.h,
), ),
).paddingSymmetrical(0.w, 0.h); );
}), }),
SizedBox(height: 16.h), SizedBox(height: 16.h),
Selector<MedicalFileViewModel, Selector<MedicalFileViewModel,
@ -1308,6 +1310,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
crossAxisCount: 3, crossAxisCount: 3,
crossAxisSpacing: 10.h, crossAxisSpacing: 10.h,
mainAxisSpacing: 16.w, mainAxisSpacing: 16.w,
childAspectRatio: isFoldable ? 1.2 : (isTablet ? 1.4 : 0.98),
), ),
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
padding: EdgeInsets.only(top: 12.h), padding: EdgeInsets.only(top: 12.h),
@ -1625,7 +1628,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
), ),
child: Utils.buildSvgWithAssets( child: Utils.buildSvgWithAssets(
icon: icon, icon: icon,
width: 22.w, width: 22.h,
height: 22.h, height: 22.h,
iconColor: scheme.iconFg, iconColor: scheme.iconFg,
fit: BoxFit.contain, fit: BoxFit.contain,
@ -1642,7 +1645,8 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
icon: getIt.get<AppState>().isArabic() ? AppAssets.arrow_back : AppAssets.arrow_forward, width: 18.w, height: 18.h), icon: getIt.get<AppState>().isArabic() ? AppAssets.arrow_back : AppAssets.arrow_forward, width: 18.w, height: 18.h),
], ],
), ),
SizedBox(height: 14.h), Spacer(),
// SizedBox(height: 14.h),
Container( Container(
padding: EdgeInsets.symmetric(horizontal: 6.w, vertical: 6.h), padding: EdgeInsets.symmetric(horizontal: 6.w, vertical: 6.h),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(

@ -34,11 +34,7 @@ class HealthToolsCard extends StatelessWidget {
padding: EdgeInsets.all(12.w), padding: EdgeInsets.all(12.w),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.min,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
// Icon container with white background and border // Icon container with white background and border
Container( Container(
@ -50,8 +46,8 @@ class HealthToolsCard extends StatelessWidget {
width: 1, width: 1,
), ),
), ),
height: 48.w, height: 48.h,
width: 48.w, width: 48.h,
child: Center( child: Center(
child: Utils.buildSvgWithAssets( child: Utils.buildSvgWithAssets(
icon: svgIcon, icon: svgIcon,
@ -67,8 +63,6 @@ class HealthToolsCard extends StatelessWidget {
label.toText13(color: textColor, isBold: true, maxLine: 2), label.toText13(color: textColor, isBold: true, maxLine: 2),
], ],
), ),
],
),
); );
} }
} }

@ -30,6 +30,10 @@ class LabRadCard extends StatelessWidget {
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 18.r, hasShadow: false), decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 18.r, hasShadow: false),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
child: Row(
children: [ children: [
Utils.buildSvgWithAssets( Utils.buildSvgWithAssets(
icon: icon, icon: icon,
@ -39,13 +43,15 @@ class LabRadCard extends StatelessWidget {
applyThemeColor: false applyThemeColor: false
).toShimmer2(isShow: false, radius: 12.r), ).toShimmer2(isShow: false, radius: 12.r),
SizedBox(width: 8.w), SizedBox(width: 8.w),
Flexible( Flexible(child: labelText.toText12(isBold: true, maxLine: 2)),
child: labelText.toText12(isBold: true, maxLine: 2), ],
), ),
),
SizedBox(width: 12.w), SizedBox(width: 12.w),
Transform.flip( Transform.flip(
flipX: appState.isArabic(), 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), ).paddingAll(12.w),

@ -152,7 +152,7 @@ class _MedicalFileAppointmentCardState extends State<MedicalFileAppointmentCard>
backgroundColor: backgroundColor:
AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel) ? AppColors.greyColor : AppColors.secondaryLightRedColor, AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel) ? AppColors.greyColor : AppColors.secondaryLightRedColor,
textColor: AppointmentType.isArrived(widget.patientAppointmentHistoryResponseModel) ? AppColors.textColor : AppColors.primaryRedColor, 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), ).toShimmer2(isShow: widget.myAppointmentsViewModel.isMyAppointmentsLoading),
SizedBox(height: 16.h), SizedBox(height: 16.h),
IntrinsicWidth( IntrinsicWidth(
@ -310,14 +310,14 @@ class _MedicalFileAppointmentCardState extends State<MedicalFileAppointmentCard>
borderRadius: 10.r, borderRadius: 10.r,
), ),
child: Padding( child: Padding(
padding: EdgeInsets.all(10.w), padding: EdgeInsets.all(10.h),
child: Transform.flip( child: Transform.flip(
flipX: appState.isArabic(), flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets( child: Utils.buildSvgWithAssets(
iconColor: AppColors.whiteColor, iconColor: AppColors.whiteColor,
icon: AppAssets.forward_arrow_icon_small, icon: AppAssets.forward_arrow_icon_small,
width: 40.h, width: 36.h,
height: 40.h, height: 36.h,
fit: BoxFit.contain, fit: BoxFit.contain,
), ),
), ),

@ -485,9 +485,8 @@ class _FamilyCardsState extends State<FamilyCards> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
CustomChipWidget( AppCustomChipWidget(
height: 30.h, labelText: profile.statusDescription ?? " N/A",
chipType: ChipTypeEnum.alert,
backgroundColor: profile.status == FamilyFileEnum.pending.toInt backgroundColor: profile.status == FamilyFileEnum.pending.toInt
? AppColors.alertLightColor.withValues(alpha: 0.20) ? AppColors.alertLightColor.withValues(alpha: 0.20)
: profile.status == FamilyFileEnum.rejected.toInt : profile.status == FamilyFileEnum.rejected.toInt
@ -495,17 +494,14 @@ class _FamilyCardsState extends State<FamilyCards> {
: profile.status == FamilyFileEnum.active.toInt : profile.status == FamilyFileEnum.active.toInt
? AppColors.lightGreenColor ? AppColors.lightGreenColor
: AppColors.lightGrayBGColor, : AppColors.lightGrayBGColor,
chipText: profile.statusDescription ?? " N/A",
iconAsset: null,
isShowBorder: false,
borderRadius: 8.h,
textColor: profile.status == FamilyFileEnum.pending.toInt textColor: profile.status == FamilyFileEnum.pending.toInt
? AppColors.alertLightColor ? AppColors.alertLightColor
: profile.status == FamilyFileEnum.rejected.toInt : profile.status == FamilyFileEnum.rejected.toInt
? AppColors.primaryRedColor ? AppColors.primaryRedColor
: profile.status == FamilyFileEnum.active.toInt : profile.status == FamilyFileEnum.active.toInt
? AppColors.textGreenColor ? AppColors.textGreenColor
: AppColors.alertColor), : AppColors.alertColor
),
SizedBox(height: 8.h), SizedBox(height: 8.h),
Wrap(alignment: WrapAlignment.start, crossAxisAlignment: WrapCrossAlignment.start, runAlignment: WrapAlignment.start, spacing: 0.h, children: [ Wrap(alignment: WrapAlignment.start, crossAxisAlignment: WrapCrossAlignment.start, runAlignment: WrapAlignment.start, spacing: 0.h, children: [
(profile.patientName ?? "").toText14(isBold: true, isCenter: false, maxlines: 1), (profile.patientName ?? "").toText14(isBold: true, isCenter: false, maxlines: 1),
@ -513,15 +509,9 @@ class _FamilyCardsState extends State<FamilyCards> {
.toText12(isCenter: false, maxLine: 1, isBold: true, color: AppColors.greyTextColor), .toText12(isCenter: false, maxLine: 1, isBold: true, color: AppColors.greyTextColor),
]), ]),
SizedBox(height: 8.h), SizedBox(height: 8.h),
CustomChipWidget( AppCustomChipWidget(
height: 30.h, labelText: "Medical File: ${profile.responseId ?? "N/A"}",
chipType: ChipTypeEnum.alert, ),
backgroundColor: AppColors.lightGrayBGColor,
chipText: "Medical File: ${profile.responseId ?? "N/A"}",
iconAsset: null,
isShowBorder: false,
borderRadius: 8.h,
textColor: AppColors.textColor),
], ],
), ),
), ),
@ -822,13 +812,13 @@ class _FamilyCardsState extends State<FamilyCards> {
], ],
), ),
if (widget.isShowRemoveButton) ...[ if (widget.isShowRemoveButton) ...[
Positioned( isParentUser ? Positioned(
top: 0, top: 0,
right: 0, right: 0,
child: Utils.buildSvgWithAssets(icon: AppAssets.deleteIcon).onPress(() { child: Utils.buildSvgWithAssets(icon: AppAssets.deleteIcon).onPress(() {
if (!isActive) widget.onRemove(profile); if (!isActive) widget.onRemove(profile);
}), }),
), ) : SizedBox(),
], ],
], ],
), ),
@ -865,9 +855,8 @@ class _FamilyCardsState extends State<FamilyCards> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
CustomChipWidget( AppCustomChipWidget(
height: 30.h, labelText: profile.statusDescription ?? "N/A",
chipType: ChipTypeEnum.alert,
backgroundColor: profile.status == FamilyFileEnum.pending.toInt backgroundColor: profile.status == FamilyFileEnum.pending.toInt
? AppColors.alertLightColor.withValues(alpha: 0.20) ? AppColors.alertLightColor.withValues(alpha: 0.20)
: profile.status == FamilyFileEnum.rejected.toInt : profile.status == FamilyFileEnum.rejected.toInt
@ -875,10 +864,6 @@ class _FamilyCardsState extends State<FamilyCards> {
: profile.status == FamilyFileEnum.active.toInt : profile.status == FamilyFileEnum.active.toInt
? AppColors.lightGreenColor ? AppColors.lightGreenColor
: AppColors.lightGrayBGColor, : AppColors.lightGrayBGColor,
chipText: profile.statusDescription ?? "N/A",
iconAsset: null,
isShowBorder: false,
borderRadius: 8.h,
textColor: profile.status == FamilyFileEnum.pending.toInt textColor: profile.status == FamilyFileEnum.pending.toInt
? AppColors.alertLightColor ? AppColors.alertLightColor
: profile.status == FamilyFileEnum.rejected.toInt : profile.status == FamilyFileEnum.rejected.toInt
@ -905,15 +890,8 @@ class _FamilyCardsState extends State<FamilyCards> {
], ],
), ),
SizedBox(height: 8.h), SizedBox(height: 8.h),
CustomChipWidget( AppCustomChipWidget(
height: 30.h, labelText: "${LocaleKeys.medicalFile.tr(context: context)}: ${profile.patientId ?? "N/A"}",
chipType: ChipTypeEnum.alert,
backgroundColor: AppColors.lightGrayBGColor,
chipText: "${LocaleKeys.medicalFile.tr(context: context)}: ${profile.patientId ?? "N/A"}",
iconAsset: null,
isShowBorder: false,
borderRadius: 8.h,
textColor: AppColors.textColor,
), ),
SizedBox(height: 16.h), SizedBox(height: 16.h),
Row( Row(

@ -35,7 +35,7 @@ class InvoiceFilterBottomSheet extends StatelessWidget {
children: [ children: [
TextInputWidget( TextInputWidget(
labelText: LocaleKeys.search.tr(context: context), labelText: LocaleKeys.search.tr(context: context),
hintText: "Search $title", hintText: "${LocaleKeys.search.tr(context: context)} $title",
controller: vm.filterSearchController, controller: vm.filterSearchController,
onChange: (value) { onChange: (value) {
debouncer.run(() { debouncer.run(() {

Loading…
Cancel
Save