@ -9,6 +9,7 @@ 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/features/authentication/authentication_view_model.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/features/book_appointments/book_appointments_view_model.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/features/immediate_livecare/immediate_livecare_view_model.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/features/my_appointments/appointment_via_region_viewmodel.dart ' ;  
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
			
			@ -22,6 +23,7 @@ import 'package:hmg_patient_app_new/presentation/book_appointment/search_doctor_
 
		
	
		
			
				import  ' package:hmg_patient_app_new/presentation/book_appointment/select_clinic_page.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/theme/colors.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/widgets/buttons/custom_button.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/widgets/common_bottom_sheet.dart '  show  showCommonBottomSheetWithoutHeight ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/widgets/custom_tab_bar.dart ' ;  
		
	
		
			
				import  ' package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart ' ;  
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
			
			@ -43,9 +45,11 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
 
		
	
		
			
				  late  AppointmentViaRegionViewmodel  regionalViewModel ; 
 
		
	
		
			
				  late  BookAppointmentsViewModel  bookAppointmentsViewModel ; 
 
		
	
		
			
				  late  ImmediateLiveCareViewModel  immediateLiveCareViewModel ; 
 
		
	
		
			
				  late  final  AuthenticationViewModel  authVM ; 
 
		
	
		
			
				
 
		
	
		
			
				  @ override 
 
		
	
		
			
				  void  initState ( )  { 
 
		
	
		
			
				    authVM  =  context . read < AuthenticationViewModel > ( ) ; 
 
		
	
		
			
				    scheduleMicrotask ( ( )  { 
 
		
	
		
			
				      bookAppointmentsViewModel . selectedTabIndex  =  0 ; 
 
		
	
		
			
				      bookAppointmentsViewModel . initBookAppointmentViewModel ( ) ; 
 
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -204,7 +208,8 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
 
		
	
		
			
				        ) . paddingSymmetrical ( 24. h ,  0. h ) ; 
 
		
	
		
			
				      case  1 : 
 
		
	
		
			
				        / / TODO:  Get  LiveCare  type  Select  UI  from  Hussain 
 
		
	
		
			
				        return  Column ( 
 
		
	
		
			
				        return  appState . isAuthenticated 
 
		
	
		
			
				            ?  Column ( 
 
		
	
		
			
				                children:  [ 
 
		
	
		
			
				                  Container ( 
 
		
	
		
			
				                    decoration:  RoundedRectangleBorder ( ) . toSmoothCornerDecoration ( 
 
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -318,7 +323,8 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				        ) . paddingSymmetrical ( 24. h ,  0. h ) ; 
 
		
	
		
			
				              ) . paddingSymmetrical ( 24. h ,  0. h ) 
 
		
	
		
			
				            :  getLiveCareNotLoggedInUI ( ) ; 
 
		
	
		
			
				      default : 
 
		
	
		
			
				        SizedBox . shrink ( ) ; 
 
		
	
		
			
				    } 
 
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -375,4 +381,93 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
 
		
	
		
			
				      } ) ; 
 
		
	
		
			
				    } 
 
		
	
		
			
				  } 
 
		
	
		
			
				
 
		
	
		
			
				  Widget  getLiveCareNotLoggedInUI ( )  { 
 
		
	
		
			
				    return  Column ( 
 
		
	
		
			
				      crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				      children:  [ 
 
		
	
		
			
				        Row ( 
 
		
	
		
			
				          children:  [ 
 
		
	
		
			
				            Utils . buildSvgWithAssets ( icon:  AppAssets . immediate_service_icon ,  width:  58. h ,  height:  58. h ) , 
 
		
	
		
			
				            SizedBox ( width:  18. h ) , 
 
		
	
		
			
				            Expanded ( 
 
		
	
		
			
				              child:  Column ( 
 
		
	
		
			
				                crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                children:  [ 
 
		
	
		
			
				                  " Immediate service " . needTranslation . toText18 ( color:  AppColors . textColor ,  isBold:  true ) , 
 
		
	
		
			
				                  " No need to wait, you will get medical consultation immediately via video call " . needTranslation . toText14 ( color:  AppColors . greyTextColor ,  weight:  FontWeight . w500 ) , 
 
		
	
		
			
				                ] , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				        SizedBox ( height:  24. h ) , 
 
		
	
		
			
				        Row ( 
 
		
	
		
			
				          children:  [ 
 
		
	
		
			
				            Utils . buildSvgWithAssets ( icon:  AppAssets . no_visit_icon ,  width:  58. h ,  height:  58. h ) , 
 
		
	
		
			
				            SizedBox ( width:  18. h ) , 
 
		
	
		
			
				            Expanded ( 
 
		
	
		
			
				              child:  Column ( 
 
		
	
		
			
				                crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                children:  [ 
 
		
	
		
			
				                  " No visit required " . needTranslation . toText18 ( color:  AppColors . textColor ,  isBold:  true ) , 
 
		
	
		
			
				                  LocaleKeys . livecarePoint5 . tr ( context:  context ) . toText14 ( color:  AppColors . greyTextColor ,  weight:  FontWeight . w500 ) , 
 
		
	
		
			
				                ] , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				        SizedBox ( height:  24. h ) , 
 
		
	
		
			
				        Row ( 
 
		
	
		
			
				          children:  [ 
 
		
	
		
			
				            Utils . buildSvgWithAssets ( icon:  AppAssets . doctor_contact_icon ,  width:  58. h ,  height:  58. h ) , 
 
		
	
		
			
				            SizedBox ( width:  18. h ) , 
 
		
	
		
			
				            Expanded ( 
 
		
	
		
			
				              child:  Column ( 
 
		
	
		
			
				                crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                children:  [ 
 
		
	
		
			
				                  " Doctor will contact " . needTranslation . toText18 ( color:  AppColors . textColor ,  isBold:  true ) , 
 
		
	
		
			
				                  " A specialised doctor will contact you and will be able to view your medical history " . needTranslation . toText14 ( color:  AppColors . greyTextColor ,  weight:  FontWeight . w500 ) , 
 
		
	
		
			
				                ] , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				        SizedBox ( height:  24. h ) , 
 
		
	
		
			
				        Row ( 
 
		
	
		
			
				          children:  [ 
 
		
	
		
			
				            Utils . buildSvgWithAssets ( icon:  AppAssets . free_med_delivery_icon ,  width:  58. h ,  height:  58. h ) , 
 
		
	
		
			
				            SizedBox ( width:  18. h ) , 
 
		
	
		
			
				            Expanded ( 
 
		
	
		
			
				              child:  Column ( 
 
		
	
		
			
				                crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                children:  [ 
 
		
	
		
			
				                  " Free medicine delivery " . needTranslation . toText18 ( color:  AppColors . textColor ,  isBold:  true ) , 
 
		
	
		
			
				                  " Offers free medicine delivery for the LiveCare appointment " . needTranslation . toText14 ( color:  AppColors . greyTextColor ,  weight:  FontWeight . w500 ) , 
 
		
	
		
			
				                ] , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				        SizedBox ( height:  36. h ) , 
 
		
	
		
			
				        CustomButton ( 
 
		
	
		
			
				          text:  " Login to use this service " . needTranslation , 
 
		
	
		
			
				          onPressed:  ( )  async  { 
 
		
	
		
			
				            await  authVM . onLoginPressed ( ) ; 
 
		
	
		
			
				          } , 
 
		
	
		
			
				          backgroundColor:  AppColors . primaryRedColor , 
 
		
	
		
			
				          borderColor:  AppColors . primaryRedColor , 
 
		
	
		
			
				          textColor:  AppColors . whiteColor , 
 
		
	
		
			
				          fontSize:  16 , 
 
		
	
		
			
				          fontWeight:  FontWeight . w500 , 
 
		
	
		
			
				          borderRadius:  12 , 
 
		
	
		
			
				          padding:  EdgeInsets . fromLTRB ( 10 ,  0 ,  10 ,  0 ) , 
 
		
	
		
			
				          height:  50. h , 
 
		
	
		
			
				          icon:  AppAssets . login1 , 
 
		
	
		
			
				          iconColor:  AppColors . whiteColor , 
 
		
	
		
			
				          iconSize:  24. h , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				      ] , 
 
		
	
		
			
				    ) . paddingSymmetrical ( 24. h ,  0. h ) ; 
 
		
	
		
			
				  } 
 
		
	
		
			
				}