@ -5,8 +5,6 @@ import 'package:flutter/cupertino.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 +18,7 @@ import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import ' package:hmg_patient_app_new/presentation/appointments/appointment_payment_page.dart ' ;
import ' package:hmg_patient_app_new/presentation/appointments/appointment_payment_page.dart ' ;
import ' package:hmg_patient_app_new/presentation/appointments/widgets/appointment_checkin_bottom_sheet.dart ' ;
import ' package:hmg_patient_app_new/presentation/appointments/widgets/appointment_checkin_bottom_sheet.dart ' ;
import ' package:hmg_patient_app_new/presentation/appointments/widgets/appointment_doctor_card.dart ' ;
import ' package:hmg_patient_app_new/presentation/appointments/widgets/appointment_doctor_card.dart ' ;
import ' package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart ' ;
import ' package:hmg_patient_app_new/presentation/prescriptions/prescription_detail_page.dart ' ;
import ' package:hmg_patient_app_new/presentation/prescriptions/prescription_detail_page.dart ' ;
import ' package:hmg_patient_app_new/presentation/prescriptions/prescriptions_list_page.dart ' ;
import ' package:hmg_patient_app_new/presentation/prescriptions/prescriptions_list_page.dart ' ;
import ' package:hmg_patient_app_new/theme/colors.dart ' ;
import ' package:hmg_patient_app_new/theme/colors.dart ' ;
@ -62,334 +61,333 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
prescriptionsViewModel = Provider . of < PrescriptionsViewModel > ( context ) ;
prescriptionsViewModel = Provider . of < PrescriptionsViewModel > ( context ) ;
return Scaffold (
return Scaffold (
backgroundColor: AppColors . bgScaffoldColor ,
backgroundColor: AppColors . bgScaffoldColor ,
appBar: AppBar (
title: " Appointment Details " . needTranslation . toText18 ( ) ,
backgroundColor: AppColors . bgScaffoldColor ,
) ,
body: Column (
body: Column (
children: [
children: [
Expanded (
Expanded (
child: SingleChildScrollView (
child: CollapsingListView (
child: Column (
title: " Appointment Details " . needTranslation ,
crossAxisAlignment: CrossAxisAlignment . start ,
child: SingleChildScrollView (
children: [
child: Column (
Row (
crossAxisAlignment: CrossAxisAlignment . start ,
mainAxisAlignment: MainAxisAlignment . spaceBetween ,
children: [
children: [
Row (
" Appointment Details " . needTranslation . toText20 ( isBold: true ) ,
mainAxisAlignment: MainAxisAlignment . spaceBetween ,
if ( AppointmentType . isArrived ( widget . patientAppointmentHistoryResponseModel ) )
children: [
CustomButton (
" Appointment Details " . needTranslation . toText20 ( isBold: true ) ,
text: " Report " . needTranslation ,
if ( AppointmentType . isArrived ( widget . patientAppointmentHistoryResponseModel ) )
onPressed: ( ) { } ,
CustomButton (
backgroundColor: AppColors . secondaryLightRedColor ,
text: " Report " . needTranslation ,
borderColor: AppColors . secondaryLightRedColor ,
onPressed: ( ) { } ,
textColor: AppColors . primaryRedColor ,
backgroundColor: AppColors . secondaryLightRedColor ,
fontSize: 14 ,
borderColor: AppColors . secondaryLightRedColor ,
fontWeight: FontWeight . w500 ,
textColor: AppColors . primaryRedColor ,
borderRadius: 12 ,
fontSize: 14 ,
padding: EdgeInsets . fromLTRB ( 10 , 0 , 10 , 0 ) ,
fontWeight: FontWeight . w500 ,
height: 40. h ,
borderRadius: 12 ,
iconSize: 16. h ,
padding: EdgeInsets . fromLTRB ( 10 , 0 , 10 , 0 ) ,
icon: AppAssets . report_icon ,
height: 40. h ,
iconColor: AppColors . primaryRedColor ,
iconSize: 16. h ,
)
icon: AppAssets . report_icon ,
] ,
iconColor: AppColors . primaryRedColor ,
) ,
)
SizedBox ( height: 24. h ) ,
] ,
AppointmentDoctorCard (
) ,
patientAppointmentHistoryResponseModel: widget . patientAppointmentHistoryResponseModel ,
SizedBox ( height: 24. h ) ,
onAskDoctorTap: ( ) { } ,
AppointmentDoctorCard (
onCancelTap: ( ) async {
patientAppointmentHistoryResponseModel: widget . patientAppointmentHistoryResponseModel ,
showCommonBottomSheet ( context ,
onAskDoctorTap: ( ) { } ,
child: Utils . getLoadingWidget ( ) ,
onCancelTap: ( ) async {
callBackFunc: ( str ) { } ,
showCommonBottomSheet ( context ,
title: " " ,
child: Utils . getLoadingWidget ( ) ,
height: ResponsiveExtension . screenHeight * 0.3 ,
callBackFunc: ( str ) { } ,
isCloseButtonVisible: false ,
title: " " ,
isDismissible: false ,
height: ResponsiveExtension . screenHeight * 0.3 ,
isFullScreen: false ) ;
isCloseButtonVisible: false ,
await myAppointmentsViewModel . cancelAppointment (
isDismissible: false ,
patientAppointmentHistoryResponseModel: widget . patientAppointmentHistoryResponseModel ,
isFullScreen: false ) ;
onSuccess: ( apiResponse ) {
await myAppointmentsViewModel . cancelAppointment (
Navigator . of ( context ) . pop ( ) ;
patientAppointmentHistoryResponseModel: widget . patientAppointmentHistoryResponseModel ,
showCommonBottomSheet ( context ,
onSuccess: ( apiResponse ) {
child: Utils . getSuccessWidget ( loadingText: " Appointment Cancelled Successfully " . needTranslation ) ,
Navigator . of ( context ) . pop ( ) ;
callBackFunc: ( str ) { } ,
showCommonBottomSheet ( context ,
title: " " ,
child: Utils . getSuccessWidget ( loadingText: " Appointment Cancelled Successfully " . needTranslation ) ,
height: ResponsiveExtension . screenHeight * 0.3 ,
callBackFunc: ( str ) { } ,
isCloseButtonVisible: false ,
title: " " ,
isDismissible: false ,
height: ResponsiveExtension . screenHeight * 0.3 ,
isFullScreen: false ,
isCloseButtonVisible: false ,
isSuccessDialog: true ) ;
isDismissible: false ,
} ) ;
isFullScreen: false ,
Navigator . of ( context ) . pop ( ) ;
isSuccessDialog: true ) ;
Navigator . of ( context ) . pop ( ) ;
} ) ;
} ,
Navigator . of ( context ) . pop ( ) ;
onRescheduleTap: ( ) { } ,
Navigator . of ( context ) . pop ( ) ;
) ,
} ,
SizedBox ( height: 16. h ) ,
onRescheduleTap: ( ) { } ,
! AppointmentType . isArrived ( widget . patientAppointmentHistoryResponseModel )
) ,
? Column (
SizedBox ( height: 16. h ) ,
children: [
! AppointmentType . isArrived ( widget . patientAppointmentHistoryResponseModel )
Container (
? Column (
decoration: RoundedRectangleBorder ( ) . toSmoothCornerDecoration (
children: [
color: AppColors . whiteColor ,
Container (
borderRadius: 20. h ,
decoration: RoundedRectangleBorder ( ) . toSmoothCornerDecoration (
hasShadow: false ,
color: AppColors . whiteColor ,
borderRadius: 20. h ,
hasShadow: false ,
) ,
child: Padding (
padding: EdgeInsets . all ( 16. h ) ,
child: Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: [
Row (
children: [
" Appointment Status " . needTranslation . toText16 ( isBold: true ) ,
] ,
) ,
SizedBox ( height: 4. h ) ,
( ! AppointmentType . isConfirmed ( widget . patientAppointmentHistoryResponseModel )
? " Not Confirmed " . needTranslation . toText12 ( color: AppColors . primaryRedColor , fontWeight: FontWeight . w500 )
: " Confirmed " . needTranslation . toText12 ( color: AppColors . successColor , fontWeight: FontWeight . w500 ) ) ,
SizedBox ( height: 16. h ) ,
Stack (
children: [
ClipRRect (
clipBehavior: Clip . hardEdge ,
borderRadius: BorderRadius . circular ( 24 ) ,
child: Image . network (
" https://maps.googleapis.com/maps/api/staticmap?center= ${ widget . patientAppointmentHistoryResponseModel . latitude } , ${ widget . patientAppointmentHistoryResponseModel . longitude } &zoom=14&size=350x165&maptype=roadmap&markers=color:red%7C ${ widget . patientAppointmentHistoryResponseModel . latitude } , ${ widget . patientAppointmentHistoryResponseModel . longitude } &key=AIzaSyB6TERnxIr0yJ3qG4ULBZbu0sAD4tGqtng " ,
fit: BoxFit . contain ,
) ,
) ,
Positioned (
bottom: 0 ,
child: SizedBox (
width: MediaQuery . of ( context ) . size . width * 0.785 ,
child: CustomButton (
text: " Get Directions " . needTranslation ,
onPressed: ( ) {
MapsLauncher . launchCoordinates ( double . parse ( widget . patientAppointmentHistoryResponseModel . latitude ! ) ,
double . parse ( widget . patientAppointmentHistoryResponseModel . longitude ! ) , widget . patientAppointmentHistoryResponseModel . projectName ) ;
} ,
backgroundColor: AppColors . textColor . withOpacity ( 0.8 ) ,
borderColor: AppointmentType . getNextActionButtonColor ( widget . patientAppointmentHistoryResponseModel . nextAction ) . withOpacity ( 0.01 ) ,
textColor: AppColors . whiteColor ,
fontSize: 14 ,
fontWeight: FontWeight . w500 ,
borderRadius: 12. h ,
padding: EdgeInsets . fromLTRB ( 10 , 0 , 10 , 0 ) ,
height: 40. h ,
icon: AppAssets . directions_icon ,
iconColor: AppColors . whiteColor ,
iconSize: 13. h ,
) . paddingAll ( 12. h ) ,
) ,
) ,
] ,
) ,
] ,
) ,
) ,
) ,
) ,
child: Padding (
SizedBox ( height: 16. h ) ,
padding: EdgeInsets . all ( 16. h ) ,
Container (
child: Column (
decoration: RoundedRectangleBorder ( ) . toSmoothCornerDecoration (
crossAxisAlignment: CrossAxisAlignment . start ,
color: AppColors . whiteColor ,
borderRadius: 20. h ,
hasShadow: false ,
) ,
child: Row (
mainAxisSize: MainAxisSize . max ,
children: [
children: [
Row (
Utils . buildSvgWithAssets ( icon: AppAssets . prescription_reminder_icon , width: 35. h , height: 35. h ) ,
SizedBox ( width: 8. h ) ,
Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: [
children: [
" Appointment Status " . needTranslation . toText16 ( isBold: true ) ,
LocaleKeys . setReminder . tr ( context: context ) . toText13 ( isBold: true ) ,
" Notify me before the appointment " . needTranslation . toText11 ( color: AppColors . textColorLight , weight: FontWeight . w500 ) ,
] ,
] ,
) ,
) ,
SizedBox ( height: 4. h ) ,
const Spacer ( ) ,
( ! AppointmentType . isConfirmed ( widget . patientAppointmentHistoryResponseModel )
Switch (
? " Not Confirmed " . needTranslation . toText12 ( color: AppColors . primaryRedColor , fontWeight: FontWeight . w500 )
activeColor: AppColors . successColor ,
: " Confirmed " . needTranslation . toText12 ( color: AppColors . successColor , fontWeight: FontWeight . w500 ) ) ,
activeTrackColor: AppColors . successColor . withValues ( alpha: . 15 ) ,
SizedBox ( height: 16. h ) ,
value: widget . patientAppointmentHistoryResponseModel . hasReminder ! ,
Stack (
onChanged: ( newValue ) {
children: [
setState ( ( ) {
ClipRRect (
myAppointmentsViewModel . setAppointmentReminder ( newValue , widget . patientAppointmentHistoryResponseModel ) ;
clipBehavior: Clip . hardEdge ,
} ) ;
borderRadius: BorderRadius . circular ( 24 ) ,
} ,
child: Image . network (
" https://maps.googleapis.com/maps/api/staticmap?center= ${ widget . patientAppointmentHistoryResponseModel . latitude } , ${ widget . patientAppointmentHistoryResponseModel . longitude } &zoom=14&size=350x165&maptype=roadmap&markers=color:red%7C ${ widget . patientAppointmentHistoryResponseModel . latitude } , ${ widget . patientAppointmentHistoryResponseModel . longitude } &key=AIzaSyB6TERnxIr0yJ3qG4ULBZbu0sAD4tGqtng " ,
fit: BoxFit . contain ,
) ,
) ,
Positioned (
bottom: 0 ,
child: SizedBox (
width: MediaQuery . of ( context ) . size . width * 0.785 ,
child: CustomButton (
text: " Get Directions " . needTranslation ,
onPressed: ( ) {
MapsLauncher . launchCoordinates ( double . parse ( widget . patientAppointmentHistoryResponseModel . latitude ! ) ,
double . parse ( widget . patientAppointmentHistoryResponseModel . longitude ! ) , widget . patientAppointmentHistoryResponseModel . projectName ) ;
} ,
backgroundColor: AppColors . textColor . withOpacity ( 0.8 ) ,
borderColor: AppointmentType . getNextActionButtonColor ( widget . patientAppointmentHistoryResponseModel . nextAction ) . withOpacity ( 0.01 ) ,
textColor: AppColors . whiteColor ,
fontSize: 14 ,
fontWeight: FontWeight . w500 ,
borderRadius: 12. h ,
padding: EdgeInsets . fromLTRB ( 10 , 0 , 10 , 0 ) ,
height: 40. h ,
icon: AppAssets . directions_icon ,
iconColor: AppColors . whiteColor ,
iconSize: 13. h ,
) . paddingAll ( 12. h ) ,
) ,
) ,
] ,
) ,
) ,
] ,
] ,
) ,
) . paddingSymmetrical ( 16. h , 16. h ) ,
) ,
) ,
SizedBox ( height: 16. h ) ,
Container (
decoration: RoundedRectangleBorder ( ) . toSmoothCornerDecoration (
color: AppColors . whiteColor ,
borderRadius: 20. h ,
hasShadow: false ,
) ,
) ,
child: Row (
SizedBox ( height: 16. h ) ,
mainAxisSize: MainAxisSize . max ,
] ,
)
: Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: [
" Lab & Radiology " . needTranslation . toText18 ( isBold: true ) ,
SizedBox ( height: 16. h ) ,
GridView (
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount ( crossAxisCount: 2 , crossAxisSpacing: 13. h , mainAxisSpacing: 13. h , childAspectRatio: 7 / 6 ) ,
physics: NeverScrollableScrollPhysics ( ) ,
shrinkWrap: true ,
children: [
children: [
Utils . buildSvgWithAssets ( icon: AppAssets . prescription_reminder_icon , width: 35. h , height: 35. h ) ,
MedicalFileCard (
SizedBox ( width: 8. h ) ,
label: LocaleKeys . labResults . tr ( context: context ) ,
Column (
textColor: AppColors . blackColor ,
crossAxisAlignment: CrossAxisAlignment . start ,
backgroundColor: AppColors . whiteColor ,
children: [
svgIcon: AppAssets . lab_result_icon ,
LocaleKeys . setReminder . tr ( context: context ) . toText13 ( isBold: true ) ,
iconSize: 40 ,
" Notify me before the appointment " . needTranslation . toText11 ( color: AppColors . textColorLight , weight: FontWeight . w500 ) ,
isLargeText: true ,
] ,
) ,
) ,
const Spacer ( ) ,
MedicalFileCard (
Switch (
label: LocaleKeys . radiology . tr ( context: context ) ,
activeColor: AppColors . successColor ,
textColor: AppColors . blackColor ,
activeTrackColor: AppColors . successColor . withValues ( alpha: . 15 ) ,
backgroundColor: AppColors . whiteColor ,
value: widget . patientAppointmentHistoryResponseModel . hasReminder ! ,
svgIcon: AppAssets . radiology_icon ,
onChanged: ( newValue ) {
iconSize: 40 ,
setState ( ( ) {
isLargeText: true ,
myAppointmentsViewModel . setAppointmentReminder ( newValue , widget . patientAppointmentHistoryResponseModel ) ;
} ) ;
} ,
) ,
) ,
] ,
] ,
) . paddingSymmetrical ( 16. h , 16. h ) ,
) ,
) ,
LocaleKeys . prescriptions . tr ( ) . toText18 ( isBold: true ) ,
SizedBox ( height: 16. h ) ,
SizedBox ( height: 16. h ) ,
] ,
Consumer < PrescriptionsViewModel > ( builder: ( context , prescriptionVM , child ) {
)
return prescriptionVM . isPrescriptionsDetailsLoading
: Column (
? const MoviesShimmerWidget ( )
crossAxisAlignment: CrossAxisAlignment . start ,
: Container (
children: [
decoration: RoundedRectangleBorder ( ) . toSmoothCornerDecoration (
" Lab & Radiology " . needTranslation . toText18 ( isBold: true ) ,
color: Colors . white ,
SizedBox ( height: 16. h ) ,
borderRadius: 20. h ,
GridView (
) ,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount ( crossAxisCount: 2 , crossAxisSpacing: 13. h , mainAxisSpacing: 13. h , childAspectRatio: 7 / 6 ) ,
child: Padding (
physics: NeverScrollableScrollPhysics ( ) ,
padding: EdgeInsets . all ( 16. h ) ,
shrinkWrap: true ,
child: Column (
children: [
children: [
MedicalFileCard (
ListView . separated (
label: LocaleKeys . labResults . tr ( context: context ) ,
itemCount: prescriptionVM . prescriptionDetailsList . length ,
textColor: AppColors . blackColor ,
shrinkWrap: true ,
backgroundColor: AppColors . whiteColor ,
padding: const EdgeInsets . only ( left: 0 , right: 8 ) ,
svgIcon: AppAssets . lab_result_icon ,
physics: NeverScrollableScrollPhysics ( ) ,
iconSize: 40 ,
itemBuilder: ( context , index ) {
isLargeText: true ,
return AnimationConfiguration . staggeredList (
) ,
position: index ,
MedicalFileCard (
duration: const Duration ( milliseconds: 500 ) ,
label: LocaleKeys . radiology . tr ( context: context ) ,
child: SlideAnimation (
textColor: AppColors . blackColor ,
verticalOffset: 100.0 ,
backgroundColor: AppColors . whiteColor ,
child: FadeInAnimation (
svgIcon: AppAssets . radiology_icon ,
child: Row (
iconSize: 40 ,
children: [
isLargeText: true ,
Utils . buildSvgWithAssets (
) ,
icon: AppAssets . prescription_item_icon ,
] ,
width: 40. h ,
) ,
height: 40. h ,
LocaleKeys . prescriptions . tr ( ) . toText18 ( isBold: true ) ,
) ,
SizedBox ( height: 16. h ) ,
SizedBox ( width: 8. h ) ,
Consumer < PrescriptionsViewModel > ( builder: ( context , prescriptionVM , child ) {
Row (
return prescriptionVM . isPrescriptionsDetailsLoading
mainAxisSize: MainAxisSize . max ,
? const MoviesShimmerWidget ( )
children: [
: Container (
Column (
decoration: RoundedRectangleBorder ( ) . toSmoothCornerDecoration (
children: [
color: Colors . white ,
SizedBox ( width: 150. h , child: prescriptionVM . prescriptionDetailsList [ index ] . itemDescription ! . toText12 ( isBold: true , maxLine: 1 ) ) ,
borderRadius: 20. h ,
SizedBox (
) ,
width: 150. h ,
child: Padding (
child:
padding: EdgeInsets . all ( 16. h ) ,
" Prescribed By: ${ widget . patientAppointmentHistoryResponseModel . doctorTitle } ${ widget . patientAppointmentHistoryResponseModel . doctorNameObj } "
child: Column (
. needTranslation
children: [
. toText10 ( weight: FontWeight . w500 , color: AppColors . greyTextColor , letterSpacing: - 0.4 ) ,
ListView . separated (
) ,
itemCount: prescriptionVM . prescriptionDetailsList . length ,
] ,
shrinkWrap: true ,
) ,
padding: const EdgeInsets . only ( left: 0 , right: 8 ) ,
SizedBox ( width: 68. h ) ,
physics: NeverScrollableScrollPhysics ( ) ,
Utils . buildSvgWithAssets (
itemBuilder: ( context , index ) {
icon: AppAssets . forward_arrow_icon ,
return AnimationConfiguration . staggeredList (
iconColor: AppColors . blackColor ,
position: index ,
width: 18. h ,
duration: const Duration ( milliseconds: 500 ) ,
height: 13. h ,
child: SlideAnimation (
fit: BoxFit . contain ,
verticalOffset: 100.0 ,
) ,
child: FadeInAnimation (
] ,
child: Row (
) ,
children: [
] ,
Utils . buildSvgWithAssets (
) ,
icon: AppAssets . prescription_item_icon ,
width: 40. h ,
height: 40. h ,
) ,
SizedBox ( width: 8. h ) ,
Row (
mainAxisSize: MainAxisSize . max ,
children: [
Column (
children: [
SizedBox ( width: 150. h , child: prescriptionVM . prescriptionDetailsList [ index ] . itemDescription ! . toText12 ( isBold: true , maxLine: 1 ) ) ,
SizedBox (
width: 150. h ,
child:
" Prescribed By: ${ widget . patientAppointmentHistoryResponseModel . doctorTitle } ${ widget . patientAppointmentHistoryResponseModel . doctorNameObj } "
. needTranslation
. toText10 ( weight: FontWeight . w500 , color: AppColors . greyTextColor , letterSpacing: - 0.4 ) ,
) ,
] ,
) ,
SizedBox ( width: 68. h ) ,
Utils . buildSvgWithAssets (
icon: AppAssets . forward_arrow_icon ,
iconColor: AppColors . blackColor ,
width: 18. h ,
height: 13. h ,
fit: BoxFit . contain ,
) ,
] ,
) ,
] ,
) ,
) ,
) ,
) ,
) ;
} ,
separatorBuilder: ( BuildContext cxt , int index ) = > SizedBox ( height: 16. h ) ,
) . onPress ( ( ) {
prescriptionVM . setPrescriptionsDetailsLoading ( ) ;
Navigator . of ( context ) . push (
FadePage (
page: PrescriptionDetailPage ( prescriptionsResponseModel: getPrescriptionRequestModel ( ) ) ,
) ,
) ,
) ;
) ;
} ,
} ) ,
separatorBuilder: ( BuildContext cxt , int index ) = > SizedBox ( height: 16. h ) ,
SizedBox ( height: 16. h ) ,
) . onPress ( ( ) {
const Divider ( color: AppColors . dividerColor ) ,
prescriptionVM . setPrescriptionsDetailsLoading ( ) ;
SizedBox ( height: 16. h ) ,
Navigator . of ( context ) . push (
Row (
FadePage (
children: [
page: PrescriptionDetailPage ( prescriptionsResponseModel: getPrescriptionRequestModel ( ) ) ,
/ / Expanded (
) ,
/ / child: CustomButton (
) ;
/ / text: widget . prescriptionsResponseModel . isHomeMedicineDeliverySupported ! ? LocaleKeys . resendOrder . tr ( context: context ) : LocaleKeys . prescriptionDeliveryError . tr ( context: context ) ,
} ) ,
/ / onPressed: ( ) { } ,
SizedBox ( height: 16. h ) ,
/ / backgroundColor: AppColors . secondaryLightRedColor ,
const Divider ( color: AppColors . dividerColor ) ,
/ / borderColor: AppColors . secondaryLightRedColor ,
SizedBox ( height: 16. h ) ,
/ / textColor: AppColors . primaryRedColor ,
Row (
/ / fontSize: 14 ,
children: [
/ / fontWeight: FontWeight . w500 ,
/ / Expanded (
/ / borderRadius: 12. h ,
/ / child: CustomButton (
/ / height: 40. h ,
/ / text: widget . prescriptionsResponseModel . isHomeMedicineDeliverySupported ! ? LocaleKeys . resendOrder . tr ( context: context ) : LocaleKeys . prescriptionDeliveryError . tr ( context: context ) ,
/ / icon: AppAssets . appointment_calendar_icon ,
/ / onPressed: ( ) { } ,
/ / iconColor: AppColors . primaryRedColor ,
/ / backgroundColor: AppColors . secondaryLightRedColor ,
/ / iconSize: 16. h ,
/ / borderColor: AppColors . secondaryLightRedColor ,
/ / ) ,
/ / textColor: AppColors . primaryRedColor ,
/ / ) ,
/ / fontSize: 14 ,
/ / SizedBox ( width: 16. h ) ,
/ / fontWeight: FontWeight . w500 ,
Expanded (
/ / borderRadius: 12. h ,
child: CustomButton (
/ / height: 40. h ,
text: " All Prescriptions " . needTranslation ,
/ / icon: AppAssets . appointment_calendar_icon ,
onPressed: ( ) {
/ / iconColor: AppColors . primaryRedColor ,
Navigator . of ( context )
/ / iconSize: 16. h ,
. push (
/ / ) ,
FadePage (
/ / ) ,
page: PrescriptionsListPage ( ) ,
/ / SizedBox ( width: 16. h ) ,
) ,
Expanded (
)
child: CustomButton (
. then ( ( val ) {
text: " All Prescriptions " . needTranslation ,
prescriptionsViewModel . setPrescriptionsDetailsLoading ( ) ;
onPressed: ( ) {
prescriptionsViewModel . getPrescriptionDetails ( getPrescriptionRequestModel ( ) ) ;
Navigator . of ( context )
} ) ;
. push (
} ,
FadePage (
backgroundColor: AppColors . secondaryLightRedColor ,
page: PrescriptionsListPage ( ) ,
borderColor: AppColors . secondaryLightRedColor ,
) ,
textColor: AppColors . primaryRedColor ,
)
fontSize: 14 ,
. then ( ( val ) {
fontWeight: FontWeight . w500 ,
prescriptionsViewModel . setPrescriptionsDetailsLoading ( ) ;
borderRadius: 12. h ,
prescriptionsViewModel . getPrescriptionDetails ( getPrescriptionRequestModel ( ) ) ;
height: 40. h ,
} ) ;
icon: AppAssets . requests ,
} ,
iconColor: AppColors . primaryRedColor ,
backgroundColor: AppColors . secondaryLightRedColor ,
iconSize: 16. h ,
borderColor: AppColors . secondaryLightRedColor ,
) ,
textColor: AppColors . primaryRedColor ,
fontSize: 14 ,
fontWeight: FontWeight . w500 ,
borderRadius: 12. h ,
height: 40. h ,
icon: AppAssets . requests ,
iconColor: AppColors . primaryRedColor ,
iconSize: 16. h ,
) ,
) ,
) ,
] ,
] ,
) ,
) ,
] ,
] ,
) ,
) ,
) ,
) ,
) ;
) ;
} ) ,
}) ,
] ,
] ,
) ,
) ,
] ,
] ,
). paddingSymmetrical ( 24. h , 24. h ) ,
) .paddingSymmetrical ( 24. h , 24. h ) ,
) ,
) ,
) ,
) ,
) ,
Container (
Container (