diff --git a/assets/images/svg/bulb_icon.svg b/assets/images/svg/bulb_icon.svg
new file mode 100644
index 0000000..62afc17
--- /dev/null
+++ b/assets/images/svg/bulb_icon.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/svg/call_for_doctor.svg b/assets/images/svg/call_for_doctor.svg
new file mode 100644
index 0000000..9644d3a
--- /dev/null
+++ b/assets/images/svg/call_for_doctor.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/svg/call_for_vitals.svg b/assets/images/svg/call_for_vitals.svg
new file mode 100644
index 0000000..ceacdf5
--- /dev/null
+++ b/assets/images/svg/call_for_vitals.svg
@@ -0,0 +1,4 @@
+
diff --git a/lib/core/app_assets.dart b/lib/core/app_assets.dart
index f3ff8fd..5bc984a 100644
--- a/lib/core/app_assets.dart
+++ b/lib/core/app_assets.dart
@@ -178,6 +178,9 @@ class AppAssets {
static const String doctor_profile_rating_icon = '$svgBasePath/doctor_profile_rating_icon.svg';
static const String doctor_profile_reviews_icon = '$svgBasePath/doctor_profile_reviews_icon.svg';
static const String waiting_appointment_icon = '$svgBasePath/waitingAppo.svg';
+ static const String call_for_vitals = '$svgBasePath/call_for_vitals.svg';
+ static const String call_for_doctor = '$svgBasePath/call_for_doctor.svg';
+ static const String bulb_icon = '$svgBasePath/bulb_icon.svg';
//bottom navigation//
diff --git a/lib/presentation/appointments/appointment_queue_page.dart b/lib/presentation/appointments/appointment_queue_page.dart
new file mode 100644
index 0000000..c2765a2
--- /dev/null
+++ b/lib/presentation/appointments/appointment_queue_page.dart
@@ -0,0 +1,266 @@
+import 'package:flutter/material.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/utils.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/presentation/home/navigation_screen.dart';
+import 'package:hmg_patient_app_new/theme/colors.dart';
+import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
+import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
+import 'package:hmg_patient_app_new/widgets/chip/app_custom_chip_widget.dart';
+import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
+
+class AppointmentQueuePage extends StatelessWidget {
+ AppointmentQueuePage({super.key});
+
+ AppState? appState;
+ int currentQueueStatus = 0;
+
+ @override
+ Widget build(BuildContext context) {
+ currentQueueStatus = 1;
+ appState = getIt.get();
+ return Scaffold(
+ backgroundColor: AppColors.bgScaffoldColor,
+ body: Column(
+ children: [
+ Expanded(
+ child: CollapsingListView(
+ title: "Queueing".needTranslation,
+ child: SingleChildScrollView(
+ child: Padding(
+ padding: EdgeInsets.all(24.0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+ color: AppColors.whiteColor,
+ borderRadius: 20.h,
+ hasShadow: false,
+ side: BorderSide(color: getCardBorderColor(), width: 2.w),
+ ),
+ child: Padding(
+ padding: EdgeInsets.all(16.h),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ AppCustomChipWidget(
+ labelText: currentQueueStatus == 0 ? "In Queue".needTranslation : "Your Turn".needTranslation,
+ backgroundColor: getCardBorderColor().withValues(alpha: 0.20),
+ textColor: getCardBorderColor(),
+ ),
+ Utils.buildSvgWithAssets(icon: AppAssets.waiting_icon, width: 24.h, height: 24.h),
+ ],
+ ),
+ SizedBox(height: 10.h),
+ "Hala ${appState!.getAuthenticatedUser()!.firstName}!!!".needTranslation.toText16(isBold: true),
+ SizedBox(height: 8.h),
+ "Thank you for your patience, here is your queue number.".needTranslation.toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight),
+ SizedBox(height: 8.h),
+ "IMD W-A-2".needTranslation.toText32(isBold: true),
+ SizedBox(height: 8.h),
+ CustomButton(
+ text: getCardButtonText(),
+ onPressed: () {},
+ backgroundColor: getCardButtonColor(),
+ borderColor: getCardButtonColor().withValues(alpha: 0.01),
+ textColor: getCardButtonTextColor(),
+ fontSize: 12.f,
+ fontWeight: FontWeight.w600,
+ borderRadius: 12.r,
+ padding: EdgeInsets.symmetric(horizontal: 10.w),
+ height: 40.h,
+ iconColor: AppColors.whiteColor,
+ iconSize: 18.h,
+ ),
+ ],
+ ),
+ ),
+ ),
+ SizedBox(height: 16.h),
+ Container(
+ decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+ color: AppColors.whiteColor,
+ borderRadius: 20.h,
+ hasShadow: true,
+ ),
+ child: Padding(
+ padding: EdgeInsets.all(16.h),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ "Serving Now".needTranslation.toText16(isBold: true),
+ SizedBox(height: 18.h),
+ ListView.separated(
+ padding: EdgeInsets.zero,
+ shrinkWrap: true,
+ itemCount: 3,
+ physics: NeverScrollableScrollPhysics(),
+ itemBuilder: (BuildContext context, int index) {
+ return Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ "IMD W-A-2".needTranslation.toText17(isBold: true),
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ "Room: S2".toText12(fontWeight: FontWeight.w500),
+ SizedBox(width: 8.w),
+ AppCustomChipWidget(
+ deleteIcon: AppAssets.call_for_vitals,
+ labelText: "Call for vital signs".needTranslation,
+ iconColor: AppColors.primaryRedColor,
+ textColor: AppColors.primaryRedColor,
+ iconSize: 14.w,
+ backgroundColor: AppColors.primaryRedColor.withValues(alpha: 0.1),
+ labelPadding: EdgeInsetsDirectional.only(start: 8.h, end: -2.h),
+ ),
+ ],
+ ),
+ ],
+ );
+ },
+ separatorBuilder: (BuildContext cxt, int index) => SizedBox(height: 8.h),
+ ),
+ ],
+ ),
+ ),
+ ),
+ SizedBox(height: 16.h),
+ Container(
+ decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+ color: AppColors.whiteColor,
+ borderRadius: 20.h,
+ hasShadow: true,
+ ),
+ child: Padding(
+ padding: EdgeInsets.all(16.h),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Row(
+ children: [
+ Utils.buildSvgWithAssets(icon: AppAssets.bulb_icon, width: 24.w, height: 24.h),
+ SizedBox(width: 8.w),
+ "Things to ask your doctor today".needTranslation.toText16(isBold: true),
+ ],
+ ),
+ SizedBox(height: 8.h),
+
+ // What can I do to improve my overall health?
+ // Are there any routine screenings I should get?
+ // What is this medication for?
+ // Are there any side effects I should know about?
+ // When should I come back for a follow-up?
+
+ "• ${"What can I do to improve my overall health?"}".needTranslation.toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight),
+ SizedBox(height: 4.h),
+ "• ${"Are there any routine screenings I should get?"}".needTranslation.toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight),
+ SizedBox(height: 4.h),
+ "• ${"What is this medication for?"}".needTranslation.toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight),
+ SizedBox(height: 4.h),
+ "• ${"Are there any side effects I should know about?"}".needTranslation.toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight),
+ SizedBox(height: 4.h),
+ "• ${"When should I come back for a follow-up?"}".needTranslation.toText12(fontWeight: FontWeight.w500, color: AppColors.textColorLight),
+
+ SizedBox(height: 16.h),
+ ],
+ ),
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ ),
+ ),
+ Container(
+ decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+ color: AppColors.whiteColor,
+ borderRadius: 24.r,
+ hasShadow: true,
+ ),
+ child: CustomButton(
+ text: "Go to homepage".needTranslation,
+ onPressed: () {
+ Navigator.pushAndRemoveUntil(
+ context,
+ CustomPageRoute(
+ page: LandingNavigation(),
+ ),
+ (r) => false);
+ },
+ backgroundColor: AppColors.primaryRedColor,
+ borderColor: AppColors.primaryRedColor,
+ textColor: AppColors.whiteColor,
+ fontSize: 16.f,
+ fontWeight: FontWeight.w500,
+ borderRadius: 12.r,
+ padding: EdgeInsets.symmetric(horizontal: 10.w),
+ height: 50.h,
+ icon: AppAssets.homeBottom,
+ iconColor: AppColors.whiteColor,
+ iconSize: 18.h,
+ ).paddingSymmetrical(16.h, 24.h),
+ )
+ ],
+ ),
+ );
+ }
+
+ Color getCardBorderColor() {
+ switch (currentQueueStatus) {
+ case 0:
+ return AppColors.ratingColorYellow;
+ case 1:
+ return AppColors.primaryRedColor;
+ case 2:
+ return AppColors.successColor;
+ }
+ return AppColors.textColor;
+ }
+
+ Color getCardButtonColor() {
+ switch (currentQueueStatus) {
+ case 0:
+ return AppColors.textColor.withValues(alpha: 0.08);
+ case 1:
+ return AppColors.primaryRedColor;
+ case 2:
+ return AppColors.successColor;
+ }
+ return AppColors.primaryRedColor;
+ }
+
+ Color getCardButtonTextColor() {
+ switch (currentQueueStatus) {
+ case 0:
+ return Color(0xFFA2A2A2);
+ case 1:
+ return AppColors.whiteColor;
+ case 2:
+ return AppColors.whiteColor;
+ }
+ return AppColors.primaryRedColor;
+ }
+
+ String getCardButtonText() {
+ switch (currentQueueStatus) {
+ case 0:
+ return "Please wait! you will be called for vital signs".needTranslation;
+ case 1:
+ return "Please visit Room S5 for vital signs".needTranslation;
+ case 2:
+ return "Please visit Room S5 to the Doctor".needTranslation;
+ }
+ return "";
+ }
+}
diff --git a/lib/presentation/appointments/widgets/appointment_card.dart b/lib/presentation/appointments/widgets/appointment_card.dart
index 7bc9c62..a629944 100644
--- a/lib/presentation/appointments/widgets/appointment_card.dart
+++ b/lib/presentation/appointments/widgets/appointment_card.dart
@@ -17,6 +17,7 @@ import 'package:hmg_patient_app_new/features/my_appointments/my_appointments_vie
import 'package:hmg_patient_app_new/features/my_appointments/utils/appointment_type.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/appointments/appointment_details_page.dart';
+import 'package:hmg_patient_app_new/presentation/appointments/appointment_queue_page.dart';
import 'package:hmg_patient_app_new/presentation/appointments/widgets/ask_doctor_request_type_select.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/widgets/appointment_calendar.dart';
import 'package:hmg_patient_app_new/presentation/medical_file/eye_measurement_details_page.dart';
@@ -26,6 +27,7 @@ import 'package:hmg_patient_app_new/widgets/chip/app_custom_chip_widget.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
+import 'package:smooth_corner/smooth_corner.dart';
class AppointmentCard extends StatelessWidget {
final PatientAppointmentHistoryResponseModel patientAppointmentHistoryResponseModel;
@@ -124,47 +126,33 @@ class AppointmentCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Column(
- crossAxisAlignment: CrossAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.center,
children: [
- Stack(
- children: [
- Image.network(
- isLoading ? 'https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png' : patientAppointmentHistoryResponseModel.doctorImageURL!,
- width: 63.w,
- height: 63.h,
- fit: BoxFit.cover,
- ),
- Positioned(
- bottom: 0,
- left: 0,
- right: 0,
- child: Container(
- width: 63.w,
- height: 20,
- color: AppColors.textColorLight.withValues(alpha: 0.25),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Utils.buildSvgWithAssets(
- icon: AppAssets.rating_icon,
- width: 12.w,
- height: 12.h,
- fit: BoxFit.contain,
- ),
- SizedBox(width: 4.w),
- isLoading ? "Rating".toText12() : patientAppointmentHistoryResponseModel.decimalDoctorRate.toString().toText12(),
- ],
- ),
- ),
- )
- ],
+ Image.network(
+ isLoading ? 'https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png' : patientAppointmentHistoryResponseModel.doctorImageURL!,
+ width: 63.w,
+ height: 63.h,
+ fit: BoxFit.cover,
).circle(100).toShimmer2(isShow: isLoading),
- // SizedBox(height: 12.h),
- // AppCustomChipWidget(
- // icon: AppAssets.rating_icon,
- // iconColor: AppColors.ratingColorYellow,
- // labelText: isLoading ? "Rating" : "Rating: ${patientAppointmentHistoryResponseModel.decimalDoctorRate}".needTranslation)
- // .toShimmer2(isShow: isLoading),
+ Transform.translate(
+ offset: Offset(0.0, -20.h),
+ child: Container(
+ width: 40.w,
+ height: 40.h,
+ decoration: BoxDecoration(
+ color: AppColors.whiteColor,
+ shape: BoxShape.circle, // Makes the container circular
+ border: Border.all(
+ color: AppColors.scaffoldBgColor, // Color of the border
+ width: 1.5.w, // Width of the border
+ ),
+ ),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [Utils.buildSvgWithAssets(icon: AppAssets.rating_icon, width: 15.w, height: 15.h), SizedBox(height: 2.h), "4.7".toText11(isBold: true, color: AppColors.textColor)],
+ ),
+ ).circle(100).toShimmer2(isShow: isLoading),
+ ),
],
),
SizedBox(width: 16.h),
@@ -304,34 +292,41 @@ class AppointmentCard extends StatelessWidget {
if (isRecent) {
return CustomButton(
text: LocaleKeys.askDoctor.tr(context: context),
- onPressed: () async {
- LoaderBottomSheet.showLoader(loadingText: "Checking doctor availability...".needTranslation);
- await myAppointmentsViewModel.isDoctorAvailable(
- projectID: patientAppointmentHistoryResponseModel.projectID,
- doctorId: patientAppointmentHistoryResponseModel.doctorID,
- clinicId: patientAppointmentHistoryResponseModel.clinicID,
- onSuccess: (value) async {
- if (value) {
- await myAppointmentsViewModel.getAskDoctorRequestTypes(onSuccess: (val) {
- LoaderBottomSheet.hideLoader();
- showCommonBottomSheetWithoutHeight(
- context,
- title: LocaleKeys.askDoctor.tr(context: context),
- child: AskDoctorRequestTypeSelect(
- askDoctorRequestTypeList: myAppointmentsViewModel.askDoctorRequestTypeList,
- myAppointmentsViewModel: myAppointmentsViewModel,
- patientAppointmentHistoryResponseModel: patientAppointmentHistoryResponseModel,
- ),
- callBackFunc: () {},
- isFullScreen: false,
- isCloseButtonVisible: true,
- );
- });
- } else {
- print("Doctor is not available");
- }
- });
+ onPressed: () {
+ Navigator.of(context).push(
+ CustomPageRoute(
+ page: AppointmentQueuePage(),
+ ),
+ );
},
+ // onPressed: () async {
+ // LoaderBottomSheet.showLoader(loadingText: "Checking doctor availability...".needTranslation);
+ // await myAppointmentsViewModel.isDoctorAvailable(
+ // projectID: patientAppointmentHistoryResponseModel.projectID,
+ // doctorId: patientAppointmentHistoryResponseModel.doctorID,
+ // clinicId: patientAppointmentHistoryResponseModel.clinicID,
+ // onSuccess: (value) async {
+ // if (value) {
+ // await myAppointmentsViewModel.getAskDoctorRequestTypes(onSuccess: (val) {
+ // LoaderBottomSheet.hideLoader();
+ // showCommonBottomSheetWithoutHeight(
+ // context,
+ // title: LocaleKeys.askDoctor.tr(context: context),
+ // child: AskDoctorRequestTypeSelect(
+ // askDoctorRequestTypeList: myAppointmentsViewModel.askDoctorRequestTypeList,
+ // myAppointmentsViewModel: myAppointmentsViewModel,
+ // patientAppointmentHistoryResponseModel: patientAppointmentHistoryResponseModel,
+ // ),
+ // callBackFunc: () {},
+ // isFullScreen: false,
+ // isCloseButtonVisible: true,
+ // );
+ // });
+ // } else {
+ // print("Doctor is not available");
+ // }
+ // });
+ // },
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
diff --git a/lib/presentation/book_appointment/book_appointment_page.dart b/lib/presentation/book_appointment/book_appointment_page.dart
index 8a0f7e7..0ad58cc 100644
--- a/lib/presentation/book_appointment/book_appointment_page.dart
+++ b/lib/presentation/book_appointment/book_appointment_page.dart
@@ -25,6 +25,7 @@ import 'package:hmg_patient_app_new/presentation/book_appointment/livecare/immed
import 'package:hmg_patient_app_new/presentation/book_appointment/livecare/select_immediate_livecare_clinic_page.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/search_doctor_by_name.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/select_clinic_page.dart';
+import 'package:hmg_patient_app_new/presentation/home/navigation_screen.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
@@ -72,6 +73,15 @@ class _BookAppointmentPageState extends State {
backgroundColor: AppColors.bgScaffoldColor,
body: CollapsingListView(
title: LocaleKeys.bookAppo.tr(context: context),
+ isLeading: true,
+ leadingCallback: () {
+ Navigator.pushAndRemoveUntil(
+ context,
+ CustomPageRoute(
+ page: LandingNavigation(),
+ ),
+ (r) => false);
+ },
child: SingleChildScrollView(
child: Consumer(builder: (context, bookAppointmentsVM, child) {
return Column(
diff --git a/lib/presentation/insurance/widgets/patient_insurance_card.dart b/lib/presentation/insurance/widgets/patient_insurance_card.dart
index 5190e5b..3d774d3 100644
--- a/lib/presentation/insurance/widgets/patient_insurance_card.dart
+++ b/lib/presentation/insurance/widgets/patient_insurance_card.dart
@@ -34,7 +34,7 @@ class PatientInsuranceCard extends StatelessWidget {
width: double.infinity,
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
- borderRadius: 24,
+ borderRadius: 24.r,
),
child: Padding(
padding: EdgeInsets.all(16.h),
@@ -112,6 +112,6 @@ class PatientInsuranceCard extends StatelessWidget {
],
),
),
- ).paddingSymmetrical(24.h, 0.h);
+ ).paddingSymmetrical(0.h, 0.h);
}
}
diff --git a/lib/presentation/medical_file/medical_file_page.dart b/lib/presentation/medical_file/medical_file_page.dart
index 4dbc659..5cfbcb9 100644
--- a/lib/presentation/medical_file/medical_file_page.dart
+++ b/lib/presentation/medical_file/medical_file_page.dart
@@ -30,6 +30,7 @@ import 'package:hmg_patient_app_new/presentation/appointments/my_doctors_page.da
import 'package:hmg_patient_app_new/presentation/book_appointment/book_appointment_page.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/doctor_profile_page.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/widgets/appointment_calendar.dart';
+import 'package:hmg_patient_app_new/presentation/home/navigation_screen.dart';
import 'package:hmg_patient_app_new/presentation/insurance/insurance_approvals_page.dart';
import 'package:hmg_patient_app_new/presentation/insurance/insurance_home_page.dart';
import 'package:hmg_patient_app_new/presentation/insurance/widgets/insurance_update_details_card.dart';
@@ -109,25 +110,30 @@ class _MedicalFilePageState extends State {
trailing: Row(
children: [
Wrap(
+ spacing: -8.h,
+ // runSpacing: 0.h,
children: [
Utils.buildImgWithAssets(
icon: AppAssets.babyGirlImg,
- height: 32.h,
- border: 1.5,
+ height: 28.h,
+ width: 28.w,
+ border: 1,
fit: BoxFit.contain,
borderRadius: 50.r,
),
Utils.buildImgWithAssets(
icon: AppAssets.femaleImg,
- height: 32.h,
- border: 1.5,
+ height: 28.h,
+ width: 28.w,
+ border: 1,
borderRadius: 50.r,
fit: BoxFit.contain,
),
Utils.buildImgWithAssets(
icon: AppAssets.male_img,
- height: 32.h,
- border: 1.5,
+ height: 28.h,
+ width: 28.w,
+ border: 1,
borderRadius: 50.r,
fit: BoxFit.contain,
),
@@ -146,7 +152,15 @@ class _MedicalFilePageState extends State {
},
profiles: medicalFileViewModel.patientFamilyFiles);
}),
- isLeading: false,
+ isLeading: true,
+ leadingCallback: () {
+ Navigator.pushAndRemoveUntil(
+ navigationService.navigatorKey.currentContext!,
+ CustomPageRoute(
+ page: LandingNavigation(),
+ ),
+ (r) => false);
+ },
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -177,7 +191,7 @@ class _MedicalFilePageState extends State {
children: [
AppCustomChipWidget(
icon: AppAssets.file_icon,
- labelText: "${LocaleKeys.fileNo.tr(context: context)}: ${appState.getAuthenticatedUser()!.patientId}",
+ labelText: "${LocaleKeys.fileno.tr(context: context)}: ${appState.getAuthenticatedUser()!.patientId}",
labelPadding: EdgeInsetsDirectional.only(end: 6.w),
onChipTap: () {
navigationService.pushPage(
@@ -215,7 +229,8 @@ class _MedicalFilePageState extends State {
icon: AppAssets.blood_icon,
labelText: "Blood: ${appState.getUserBloodGroup.isEmpty ? "N/A" : appState.getUserBloodGroup.isEmpty}",
iconColor: AppColors.primaryRedColor,
- labelPadding: EdgeInsetsDirectional.only(end: 8.w),
+ labelPadding: EdgeInsetsDirectional.only(end: 4.w),
+ padding: EdgeInsets.zero,
),
Consumer(builder: (context, insuranceVM, child) {
return AppCustomChipWidget(
@@ -535,10 +550,7 @@ class _MedicalFilePageState extends State {
? const CommonShimmerWidget().paddingSymmetrical(0.w, 0.h)
: prescriptionVM.patientPrescriptionOrders.isNotEmpty
? Container(
- decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
- color: Colors.white,
- borderRadius: 12.r,
- ),
+ decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: Colors.white, borderRadius: 20.r, hasShadow: false),
child: Padding(
padding: EdgeInsets.all(16.w),
child: Column(
@@ -608,9 +620,9 @@ class _MedicalFilePageState extends State {
},
separatorBuilder: (BuildContext cxt, int index) => SizedBox(height: 16.h),
),
- SizedBox(height: 24.h),
+ SizedBox(height: 16.h),
const Divider(color: AppColors.dividerColor),
- SizedBox(height: 24.h),
+ SizedBox(height: 16.h),
Row(
children: [
Expanded(
@@ -635,7 +647,7 @@ class _MedicalFilePageState extends State {
iconSize: 16.w,
),
),
- SizedBox(width: 10.w),
+ SizedBox(width: 6.w),
Expanded(
child: CustomButton(
text: "All Medications".needTranslation,
@@ -657,7 +669,7 @@ class _MedicalFilePageState extends State {
],
),
),
- ).paddingSymmetrical(24.w, 0.h)
+ ).paddingSymmetrical(0.w, 0.h)
: Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
diff --git a/lib/widgets/appbar/collapsing_list_view.dart b/lib/widgets/appbar/collapsing_list_view.dart
index 734fe0f..cf711a0 100644
--- a/lib/widgets/appbar/collapsing_list_view.dart
+++ b/lib/widgets/appbar/collapsing_list_view.dart
@@ -25,6 +25,7 @@ class CollapsingListView extends StatelessWidget {
Widget? trailing;
bool isClose;
bool isLeading;
+ VoidCallback? leadingCallback;
CollapsingListView({
super.key,
@@ -40,7 +41,7 @@ class CollapsingListView extends StatelessWidget {
this.requests,
this.isLeading = true,
this.trailing,
- });
+ this.leadingCallback});
@override
Widget build(BuildContext context) {
@@ -65,7 +66,13 @@ class CollapsingListView extends StatelessWidget {
child: IconButton(
icon: Utils.buildSvgWithAssets(icon: isClose ? AppAssets.closeBottomNav : AppAssets.arrow_back, width: 32.h, height: 32.h),
padding: EdgeInsets.only(left: 12),
- onPressed: () => Navigator.pop(context),
+ onPressed: () {
+ if(leadingCallback != null) {
+ leadingCallback!();
+ } else {
+ Navigator.pop(context);
+ }
+ },
highlightColor: Colors.transparent,
),
)