@ -60,10 +60,10 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
 
		
	
		
			
				  void  initState ( )  { 
 
		
	
		
			
				    WidgetsBinding . instance . addObserver ( this ) ; 
 
		
	
		
			
				    super . initState ( ) ; 
 
		
	
		
			
				    cProvider  =  Provider . of < ChatProviderModel > ( context ,  listen:  false ) ; 
 
		
	
		
			
				    scheduleMicrotask ( ( )  { 
 
		
	
		
			
				      data  =  Provider . of < DashboardProviderModel > ( context ,  listen:  false ) ; 
 
		
	
		
			
				      marathonProvider  =  Provider . of < MarathonProvider > ( context ,  listen:  false ) ; 
 
		
	
		
			
				      cProvider  =  Provider . of < ChatProviderModel > ( context ,  listen:  false ) ; 
 
		
	
		
			
				      if  ( checkIfPrivilegedForChat ( ) )  { 
 
		
	
		
			
				        _bHubCon ( ) ; 
 
		
	
		
			
				      } 
 
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -117,6 +117,7 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
 
		
	
		
			
				  } 
 
		
	
		
			
				
 
		
	
		
			
				  Future < void >  checkHubCon ( )  async  { 
 
		
	
		
			
				    / /  chatHubConnection  =  await  context . read < ChatProviderModel > ( ) . getHubConnection ( ) ; 
 
		
	
		
			
				    if  ( chatHubConnection . state  = =  HubConnectionState . Connected )  { 
 
		
	
		
			
				      await  chatHubConnection . stop ( ) ; 
 
		
	
		
			
				      await  chatHubConnection . start ( ) ; 
 
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -152,7 +153,7 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
 
		
	
		
			
				    data . fetchLeaveTicketBalance ( context ,  DateTime . now ( ) ) ; 
 
		
	
		
			
				    data . fetchMenuEntries ( ) ; 
 
		
	
		
			
				    data . fetchEventActivity ( ) ; 
 
		
	
		
			
				    data . getCategoryOffersListAPI ( context ) ; 
 
		
	
		
			
				    / /  data . getCategoryOffersListAPI ( context ) ; 
 
		
	
		
			
				    marathonProvider . getMarathonDetailsFromApi ( ) ; 
 
		
	
		
			
				    marathonProvider . getMarathonTutorial ( ) ; 
 
		
	
		
			
				    if  ( isFromInit )  { 
 
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
			
			@ -243,440 +244,457 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
 
		
	
		
			
				
 
		
	
		
			
				  @ override 
 
		
	
		
			
				  Widget  build ( BuildContext  context )  { 
 
		
	
		
			
				    return  Scaffold ( 
 
		
	
		
			
				      key:  _scaffoldState , 
 
		
	
		
			
				      body:  Column ( 
 
		
	
		
			
				        children:  [ 
 
		
	
		
			
				          Row ( 
 
		
	
		
			
				            children:  [ 
 
		
	
		
			
				              Builder ( 
 
		
	
		
			
				                builder:  ( BuildContext  context )  { 
 
		
	
		
			
				                  return  Row ( 
 
		
	
		
			
				                    mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                    children:  [ 
 
		
	
		
			
				                      Image . memory ( 
 
		
	
		
			
				                        Utils . dataFromBase64String ( AppState ( ) . memberInformationList ! . eMPLOYEEIMAGE  ? ?  " " ) , 
 
		
	
		
			
				                        errorBuilder:  ( BuildContext  context ,  Object  error ,  StackTrace ?  stackTrace )  { 
 
		
	
		
			
				                          return  SvgPicture . asset ( " assets/images/user.svg " ,  height:  34 ,  width:  34 ) ; 
 
		
	
		
			
				                        } , 
 
		
	
		
			
				                        width:  34 , 
 
		
	
		
			
				                        height:  34 , 
 
		
	
		
			
				                        fit:  BoxFit . cover , 
 
		
	
		
			
				                      ) . circle ( 50 ) , 
 
		
	
		
			
				                      / /  CircularAvatar ( 
 
		
	
		
			
				                      / /    width:  34 , 
 
		
	
		
			
				                      / /    height:  34 , 
 
		
	
		
			
				                      / /    url:  " https://cdn4.iconfinder.com/data/icons/professions-2-2/151/89-512.png " , 
 
		
	
		
			
				                      / /  ) , 
 
		
	
		
			
				                      8. width , 
 
		
	
		
			
				                      SvgPicture . asset ( " assets/images/side_nav.svg " ) , 
 
		
	
		
			
				                    ] , 
 
		
	
		
			
				                  ) . onPress ( ( )  { 
 
		
	
		
			
				                    _scaffoldState . currentState ! . openDrawer ( ) ; 
 
		
	
		
			
				                  } ) ; 
 
		
	
		
			
				    return  SafeArea ( 
 
		
	
		
			
				      bottom:  Platform . isAndroid  ?  true  :  false , 
 
		
	
		
			
				      top:  false , 
 
		
	
		
			
				      child:  Scaffold ( 
 
		
	
		
			
				        key:  _scaffoldState , 
 
		
	
		
			
				        body:  Column ( 
 
		
	
		
			
				          children:  [ 
 
		
	
		
			
				            Row ( 
 
		
	
		
			
				              children:  [ 
 
		
	
		
			
				                Builder ( 
 
		
	
		
			
				                  builder:  ( BuildContext  context )  { 
 
		
	
		
			
				                    return  Row ( 
 
		
	
		
			
				                      mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                      children:  [ 
 
		
	
		
			
				                        Image . memory ( 
 
		
	
		
			
				                          Utils . dataFromBase64String ( AppState ( ) . memberInformationList ! . eMPLOYEEIMAGE  ? ?  " " ) , 
 
		
	
		
			
				                          errorBuilder:  ( BuildContext  context ,  Object  error ,  StackTrace ?  stackTrace )  { 
 
		
	
		
			
				                            return  SvgPicture . asset ( " assets/images/user.svg " ,  height:  34 ,  width:  34 ) ; 
 
		
	
		
			
				                          } , 
 
		
	
		
			
				                          width:  34 , 
 
		
	
		
			
				                          height:  34 , 
 
		
	
		
			
				                          fit:  BoxFit . cover , 
 
		
	
		
			
				                        ) . circle ( 50 ) , 
 
		
	
		
			
				                        / /  CircularAvatar ( 
 
		
	
		
			
				                        / /    width:  34 , 
 
		
	
		
			
				                        / /    height:  34 , 
 
		
	
		
			
				                        / /    url:  " https://cdn4.iconfinder.com/data/icons/professions-2-2/151/89-512.png " , 
 
		
	
		
			
				                        / /  ) , 
 
		
	
		
			
				                        8. width , 
 
		
	
		
			
				                        SvgPicture . asset ( " assets/images/side_nav.svg " ) , 
 
		
	
		
			
				                      ] , 
 
		
	
		
			
				                    ) . onPress ( ( )  { 
 
		
	
		
			
				                      _scaffoldState . currentState ! . openDrawer ( ) ; 
 
		
	
		
			
				                    } ) ; 
 
		
	
		
			
				                  } , 
 
		
	
		
			
				                ) , 
 
		
	
		
			
				                Image . asset ( " assets/images/logos/main_mohemm_logo.png " ,  width:  134 ,  height:  28 ) . expanded , 
 
		
	
		
			
				                SvgPicture . asset ( " assets/images/announcements.svg " ,  matchTextDirection:  true ) . onPress ( ( )  async  { 
 
		
	
		
			
				                  await  Navigator . pushNamed ( context ,  AppRoutes . announcements ) ; 
 
		
	
		
			
				                } ) , 
 
		
	
		
			
				              ] , 
 
		
	
		
			
				            ) . paddingOnly ( left:  21 ,  right:  21 ,  top:  48 ,  bottom:  7 ) , 
 
		
	
		
			
				            Expanded ( 
 
		
	
		
			
				              child:  SmartRefresher ( 
 
		
	
		
			
				                enablePullDown:  true , 
 
		
	
		
			
				                enablePullUp:  false , 
 
		
	
		
			
				                header:  const  MaterialClassicHeader ( color:  MyColors . gradiantEndColor ) , 
 
		
	
		
			
				                controller:  _refreshController , 
 
		
	
		
			
				                onRefresh:  ( )  { 
 
		
	
		
			
				                  _onRefresh ( false ) ; 
 
		
	
		
			
				                } , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				              Image . asset ( " assets/images/logos/main_mohemm_logo.png " ,  width:  134 ,  height:  28 ) . expanded , 
 
		
	
		
			
				              SvgPicture . asset ( " assets/images/announcements.svg " ,  matchTextDirection:  true ) . onPress ( ( )  async  { 
 
		
	
		
			
				                await  Navigator . pushNamed ( context ,  AppRoutes . announcements ) ; 
 
		
	
		
			
				              } ) , 
 
		
	
		
			
				            ] , 
 
		
	
		
			
				          ) . paddingOnly ( left:  21 ,  right:  21 ,  top:  48 ,  bottom:  7 ) , 
 
		
	
		
			
				          Expanded ( 
 
		
	
		
			
				            child:  SmartRefresher ( 
 
		
	
		
			
				              enablePullDown:  true , 
 
		
	
		
			
				              enablePullUp:  false , 
 
		
	
		
			
				              header:  const  MaterialClassicHeader ( color:  MyColors . gradiantEndColor ) , 
 
		
	
		
			
				              controller:  _refreshController , 
 
		
	
		
			
				              onRefresh:  ( )  { 
 
		
	
		
			
				                _onRefresh ( false ) ; 
 
		
	
		
			
				              } , 
 
		
	
		
			
				              child:  SingleChildScrollView ( 
 
		
	
		
			
				                child:  Column ( 
 
		
	
		
			
				                  children:  [ 
 
		
	
		
			
				                    Column ( 
 
		
	
		
			
				                      crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                      children:  < Widget > [ 
 
		
	
		
			
				                        LocaleKeys . welcomeBack . tr ( ) . toText14 ( color:  MyColors . grey77Color ) , 
 
		
	
		
			
				                        ( AppState ( ) . memberInformationList ! . eMPLOYEENAME  ? ?  " " ) . toText24 ( isBold:  true ) , 
 
		
	
		
			
				                        16. height , 
 
		
	
		
			
				                        Row ( 
 
		
	
		
			
				                          children:  [ 
 
		
	
		
			
				                            Expanded ( 
 
		
	
		
			
				                              child:  AspectRatio ( 
 
		
	
		
			
				                                aspectRatio:  159  /  159 , 
 
		
	
		
			
				                                child:  Consumer < DashboardProviderModel > ( 
 
		
	
		
			
				                                  builder:  ( BuildContext  context ,  DashboardProviderModel  model ,  Widget ?  child )  { 
 
		
	
		
			
				                                    return  ( model . isAttendanceTrackingLoading 
 
		
	
		
			
				                                            ?  GetAttendanceTrackingShimmer ( ) 
 
		
	
		
			
				                                            :  Container ( 
 
		
	
		
			
				                                              decoration:  BoxDecoration ( 
 
		
	
		
			
				                                                borderRadius:  BorderRadius . circular ( 15 ) , 
 
		
	
		
			
				                                                gradient:  const  LinearGradient ( 
 
		
	
		
			
				                                                  transform:  GradientRotation ( . 46 ) , 
 
		
	
		
			
				                                                  begin:  Alignment . topRight , 
 
		
	
		
			
				                                                  end:  Alignment . bottomLeft , 
 
		
	
		
			
				                                                  colors:  [ MyColors . gradiantEndColor ,  MyColors . gradiantStartColor ] , 
 
		
	
		
			
				                child:  SingleChildScrollView ( 
 
		
	
		
			
				                  child:  Column ( 
 
		
	
		
			
				                    children:  [ 
 
		
	
		
			
				                      Column ( 
 
		
	
		
			
				                        crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                        children:  < Widget > [ 
 
		
	
		
			
				                          LocaleKeys . welcomeBack . tr ( ) . toText14 ( color:  MyColors . grey77Color ) , 
 
		
	
		
			
				                          ( AppState ( ) . memberInformationList ! . eMPLOYEENAME  ? ?  " " ) . toText24 ( isBold:  true ) , 
 
		
	
		
			
				                          16. height , 
 
		
	
		
			
				                          Row ( 
 
		
	
		
			
				                            children:  [ 
 
		
	
		
			
				                              Expanded ( 
 
		
	
		
			
				                                child:  AspectRatio ( 
 
		
	
		
			
				                                  aspectRatio:  159  /  159 , 
 
		
	
		
			
				                                  child:  Consumer < DashboardProviderModel > ( 
 
		
	
		
			
				                                    builder:  ( BuildContext  context ,  DashboardProviderModel  model ,  Widget ?  child )  { 
 
		
	
		
			
				                                      return  ( model . isAttendanceTrackingLoading 
 
		
	
		
			
				                                              ?  GetAttendanceTrackingShimmer ( ) 
 
		
	
		
			
				                                              :  Container ( 
 
		
	
		
			
				                                                decoration:  BoxDecoration ( 
 
		
	
		
			
				                                                  borderRadius:  BorderRadius . circular ( 15 ) , 
 
		
	
		
			
				                                                  gradient:  const  LinearGradient ( 
 
		
	
		
			
				                                                    transform:  GradientRotation ( . 46 ) , 
 
		
	
		
			
				                                                    begin:  Alignment . topRight , 
 
		
	
		
			
				                                                    end:  Alignment . bottomLeft , 
 
		
	
		
			
				                                                    colors:  [ MyColors . gradiantEndColor ,  MyColors . gradiantStartColor ] , 
 
		
	
		
			
				                                                  ) , 
 
		
	
		
			
				                                                ) , 
 
		
	
		
			
				                                              ) , 
 
		
	
		
			
				                                              child:  Stack ( 
 
		
	
		
			
				                                                alignment:  Alignment . center , 
 
		
	
		
			
				                                                children:  [ 
 
		
	
		
			
				                                                  if  ( model . isTimeRemainingInSeconds  = =  0 )  SvgPicture . asset ( " assets/images/thumb.svg " ) , 
 
		
	
		
			
				                                                  Column ( 
 
		
	
		
			
				                                                    crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                                    children:  [ 
 
		
	
		
			
				                                                      Expanded ( 
 
		
	
		
			
				                                                        child:  Column ( 
 
		
	
		
			
				                                                          mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                                                          crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                                child:  Stack ( 
 
		
	
		
			
				                                                  alignment:  Alignment . center , 
 
		
	
		
			
				                                                  children:  [ 
 
		
	
		
			
				                                                    if  ( model . isTimeRemainingInSeconds  = =  0 )  SvgPicture . asset ( " assets/images/thumb.svg " ) , 
 
		
	
		
			
				                                                    Column ( 
 
		
	
		
			
				                                                      crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                                      children:  [ 
 
		
	
		
			
				                                                        Expanded ( 
 
		
	
		
			
				                                                          child:  Column ( 
 
		
	
		
			
				                                                            mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                                                            crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                                            children:  [ 
 
		
	
		
			
				                                                              LocaleKeys . markAttendance . tr ( ) . toText14 ( color:  Colors . white ,  isBold:  true ) , 
 
		
	
		
			
				                                                              if  ( model . isTimeRemainingInSeconds  = =  0 )  DateTime . now ( ) . toString ( ) . split ( "   " ) [ 0 ] . toText12 ( color:  Colors . white ) , 
 
		
	
		
			
				                                                              if  ( model . isTimeRemainingInSeconds  ! =  0 ) 
 
		
	
		
			
				                                                                Column ( 
 
		
	
		
			
				                                                                  mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                                                                  crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                                                  children:  [ 
 
		
	
		
			
				                                                                    9. height , 
 
		
	
		
			
				                                                                    Directionality ( 
 
		
	
		
			
				                                                                      textDirection:  ui . TextDirection . ltr , 
 
		
	
		
			
				                                                                      child:  CountdownTimer ( 
 
		
	
		
			
				                                                                        endTime:  model . endTime , 
 
		
	
		
			
				                                                                        onEnd:  null , 
 
		
	
		
			
				                                                                        endWidget:  " 00:00:00 " . toText14 ( color:  Colors . white ,  isBold:  true ) , 
 
		
	
		
			
				                                                                        textStyle:  const  TextStyle ( color:  Colors . white ,  fontSize:  14 ,  letterSpacing:  - 0.48 ,  fontWeight:  FontWeight . bold ) , 
 
		
	
		
			
				                                                                      ) , 
 
		
	
		
			
				                                                                    ) , 
 
		
	
		
			
				                                                                    LocaleKeys . timeLeftToday . tr ( ) . toText12 ( color:  Colors . white ) , 
 
		
	
		
			
				                                                                    9. height , 
 
		
	
		
			
				                                                                    ClipRRect ( 
 
		
	
		
			
				                                                                      borderRadius:  const  BorderRadius . all ( Radius . circular ( 20 ) ) , 
 
		
	
		
			
				                                                                      child:  LinearProgressIndicator ( 
 
		
	
		
			
				                                                                        value:  model . progress , 
 
		
	
		
			
				                                                                        minHeight:  8 , 
 
		
	
		
			
				                                                                        valueColor:  const  AlwaysStoppedAnimation < Color > ( Colors . white ) , 
 
		
	
		
			
				                                                                        backgroundColor:  const  Color ( 0xff196D73 ) , 
 
		
	
		
			
				                                                                      ) , 
 
		
	
		
			
				                                                                    ) , 
 
		
	
		
			
				                                                                  ] , 
 
		
	
		
			
				                                                                ) , 
 
		
	
		
			
				                                                            ] , 
 
		
	
		
			
				                                                          ) . paddingOnly ( top:  12 ,  right:  15 ,  left:  12 ) , 
 
		
	
		
			
				                                                        ) , 
 
		
	
		
			
				                                                        Row ( 
 
		
	
		
			
				                                                          children:  [ 
 
		
	
		
			
				                                                            LocaleKeys . markAttendance . tr ( ) . toText14 ( color:  Colors . white ,  isBold:  true ) , 
 
		
	
		
			
				                                                            if  ( model . isTimeRemainingInSeconds  = =  0 )  DateTime . now ( ) . toString ( ) . split ( "   " ) [ 0 ] . toText12 ( color:  Colors . white ) , 
 
		
	
		
			
				                                                            if  ( model . isTimeRemainingInSeconds  ! =  0 ) 
 
		
	
		
			
				                                                              Column ( 
 
		
	
		
			
				                                                            Expanded ( 
 
		
	
		
			
				                                                              child:  Column ( 
 
		
	
		
			
				                                                                mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                                                                crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                                                children:  [ 
 
		
	
		
			
				                                                                  9. height , 
 
		
	
		
			
				                                                                  Directionality ( 
 
		
	
		
			
				                                                                    textDirection:  ui . TextDirection . ltr , 
 
		
	
		
			
				                                                                    child:  CountdownTimer ( 
 
		
	
		
			
				                                                                      endTime:  model . endTime , 
 
		
	
		
			
				                                                                      onEnd:  null , 
 
		
	
		
			
				                                                                      endWidget:  " 00:00:00 " . toText14 ( color:  Colors . white ,  isBold:  true ) , 
 
		
	
		
			
				                                                                      textStyle:  const  TextStyle ( color:  Colors . white ,  fontSize:  14 ,  letterSpacing:  - 0.48 ,  fontWeight:  FontWeight . bold ) , 
 
		
	
		
			
				                                                                    ) , 
 
		
	
		
			
				                                                                  ) , 
 
		
	
		
			
				                                                                  LocaleKeys . timeLeftToday . tr ( ) . toText12 ( color:  Colors . white ) , 
 
		
	
		
			
				                                                                  9. height , 
 
		
	
		
			
				                                                                  ClipRRect ( 
 
		
	
		
			
				                                                                    borderRadius:  const  BorderRadius . all ( Radius . circular ( 20 ) ) , 
 
		
	
		
			
				                                                                    child:  LinearProgressIndicator ( 
 
		
	
		
			
				                                                                      value:  model . progress , 
 
		
	
		
			
				                                                                      minHeight:  8 , 
 
		
	
		
			
				                                                                      valueColor:  const  AlwaysStoppedAnimation < Color > ( Colors . white ) , 
 
		
	
		
			
				                                                                      backgroundColor:  const  Color ( 0xff196D73 ) , 
 
		
	
		
			
				                                                                    ) , 
 
		
	
		
			
				                                                                  LocaleKeys . checkIn . tr ( ) . toText12 ( color:  Colors . white ) , 
 
		
	
		
			
				                                                                  ( model . attendanceTracking ! . pSwipeIn  = =  null  ?  " --:-- "  :  model . attendanceTracking ! . pSwipeIn ) . toString ( ) . toText14 ( 
 
		
	
		
			
				                                                                    color:  Colors . white , 
 
		
	
		
			
				                                                                    isBold:  true , 
 
		
	
		
			
				                                                                  ) , 
 
		
	
		
			
				                                                                  4. height , 
 
		
	
		
			
				                                                                ] , 
 
		
	
		
			
				                                                              ) . paddingOnly ( left:  12 ,  right:  12 ) , 
 
		
	
		
			
				                                                            ) , 
 
		
	
		
			
				                                                            Container ( 
 
		
	
		
			
				                                                              margin:  EdgeInsets . only ( top:  AppState ( ) . isArabic ( context )  ?  6  :  0 ) , 
 
		
	
		
			
				                                                              width:  45 , 
 
		
	
		
			
				                                                              height:  45 , 
 
		
	
		
			
				                                                              padding:  const  EdgeInsets . only ( left:  10 ,  right:  10 ) , 
 
		
	
		
			
				                                                              decoration:  BoxDecoration ( 
 
		
	
		
			
				                                                                color:  const  Color ( 0xff259EA4 ) , 
 
		
	
		
			
				                                                                borderRadius:  BorderRadius . only ( 
 
		
	
		
			
				                                                                  bottomRight:  AppState ( ) . isArabic ( context )  ?  const  Radius . circular ( 0 )  :  const  Radius . circular ( 15 ) , 
 
		
	
		
			
				                                                                  bottomLeft:  AppState ( ) . isArabic ( context )  ?  const  Radius . circular ( 15 )  :  const  Radius . circular ( 0 ) , 
 
		
	
		
			
				                                                                ) , 
 
		
	
		
			
				                                                              ) , 
 
		
	
		
			
				                                                              child:  SvgPicture . asset ( model . isTimeRemainingInSeconds  = =  0  ?  " assets/images/biometrics.svg "  :  " assets/images/biometrics.svg " ) , 
 
		
	
		
			
				                                                            ) . onPress ( ( )  { 
 
		
	
		
			
				                                                              showMyBottomSheet ( context ,  callBackFunc:  ( )  { } ,  child:  MarkAttendanceWidget ( model ,  isFromDashboard:  true ) ) ; 
 
		
	
		
			
				                                                            } ) , 
 
		
	
		
			
				                                                          ] , 
 
		
	
		
			
				                                                        ) . paddingOnly ( top:  12 ,  right:  15 ,  left:  12 ) , 
 
		
	
		
			
				                                                      ) , 
 
		
	
		
			
				                                                      Row ( 
 
		
	
		
			
				                                                        children:  [ 
 
		
	
		
			
				                                                          Expanded ( 
 
		
	
		
			
				                                                            child:  Column ( 
 
		
	
		
			
				                                                              mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                                                              crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                                        ) , 
 
		
	
		
			
				                                                      ] , 
 
		
	
		
			
				                                                    ) , 
 
		
	
		
			
				                                                  ] , 
 
		
	
		
			
				                                                ) , 
 
		
	
		
			
				                                              ) . onPress ( ( )  { 
 
		
	
		
			
				                                                Navigator . pushNamed ( context ,  AppRoutes . todayAttendance ) ; 
 
		
	
		
			
				                                              } ) ) 
 
		
	
		
			
				                                          . animatedSwither ( ) ; 
 
		
	
		
			
				                                    } , 
 
		
	
		
			
				                                  ) , 
 
		
	
		
			
				                                ) , 
 
		
	
		
			
				                              ) , 
 
		
	
		
			
				                              9. width , 
 
		
	
		
			
				                              Expanded ( child:  MenusWidget ( ) ) , 
 
		
	
		
			
				                            ] , 
 
		
	
		
			
				                          ) , 
 
		
	
		
			
				                        ] , 
 
		
	
		
			
				                      ) . paddingOnly ( left:  21 ,  right:  21 ,  top:  7 ,  bottom:  21 ) , 
 
		
	
		
			
				                      eventActivityWidget ( context ) , 
 
		
	
		
			
				                      Column ( 
 
		
	
		
			
				                        mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                        crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                        children:  [ 
 
		
	
		
			
				                          Directionality ( 
 
		
	
		
			
				                            textDirection:  AppState ( ) . isArabic ( context )  ?  ui . TextDirection . rtl  :  ui . TextDirection . ltr , 
 
		
	
		
			
				                            child:  Container ( 
 
		
	
		
			
				                              decoration:  BoxDecoration ( 
 
		
	
		
			
				                                borderRadius:  BorderRadius . circular ( 20 ) , 
 
		
	
		
			
				                                gradient:  const  LinearGradient ( colors:  [ Color ( 0xFF91C481 ) ,  Color ( 0xFF7CCED7 ) ] ,  begin:  Alignment . centerLeft ,  end:  Alignment . centerRight ) , 
 
		
	
		
			
				                              ) , 
 
		
	
		
			
				                              child:  Padding ( 
 
		
	
		
			
				                                padding:  const  EdgeInsets . all ( 3.0 ) ,  / /  This  creates  the  border  width 
 
		
	
		
			
				                                child:  Container ( 
 
		
	
		
			
				                                  decoration:  BoxDecoration ( 
 
		
	
		
			
				                                    color:  Colors . white , 
 
		
	
		
			
				                                    borderRadius:  BorderRadius . circular ( 17 ) ,  / /  Slightly  less  than  outer  radius 
 
		
	
		
			
				                                  ) , 
 
		
	
		
			
				                                  child:  Row ( 
 
		
	
		
			
				                                    mainAxisAlignment:  MainAxisAlignment . spaceBetween , 
 
		
	
		
			
				                                    crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                    children:  [ 
 
		
	
		
			
				                                      Expanded ( 
 
		
	
		
			
				                                        flex:  4 , 
 
		
	
		
			
				                                        child:  Column ( 
 
		
	
		
			
				                                          crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                          mainAxisAlignment:  MainAxisAlignment . start , 
 
		
	
		
			
				                                          children:  [ 
 
		
	
		
			
				                                            Row ( 
 
		
	
		
			
				                                              children:  [ 
 
		
	
		
			
				                                                Expanded ( 
 
		
	
		
			
				                                                  flex:  2 , 
 
		
	
		
			
				                                                  child:  RichText ( 
 
		
	
		
			
				                                                    text: 
 
		
	
		
			
				                                                        AppState ( ) . isArabic ( context ) 
 
		
	
		
			
				                                                            ?   TextSpan ( 
 
		
	
		
			
				                                                              children:  [ 
 
		
	
		
			
				                                                                LocaleKeys . checkIn . tr ( ) . toText12 ( color:  Colors . white ) , 
 
		
	
		
			
				                                                                ( model . attendanceTracking ! . pSwipeIn  = =  null  ?  " --:-- "  :  model . attendanceTracking ! . pSwipeIn ) . toString ( ) . toText14 ( 
 
		
	
		
			
				                                                                  color:  Colors . white , 
 
		
	
		
			
				                                                                  isBold:  true , 
 
		
	
		
			
				                                                                TextSpan ( 
 
		
	
		
			
				                                                                  text:  ' اطلع على مميزات ' , 
 
		
	
		
			
				                                                                  style:  TextStyle ( fontSize:  16 ,  letterSpacing:  - 0.2 ,  fontFamily:  AppState ( ) . isArabic ( context )  ?  ' Cairo '  :  ' Poppins ' ,  fontWeight:  FontWeight . w700 ,  height:  24  /  16 ,  color:  Color ( 0xFF5D5E5E ) ) , 
 
		
	
		
			
				                                                                ) , 
 
		
	
		
			
				                                                                TextSpan ( 
 
		
	
		
			
				                                                                  text:  '  مزايا ' , 
 
		
	
		
			
				                                                                  style:  TextStyle ( 
 
		
	
		
			
				                                                                    fontSize:  16 , 
 
		
	
		
			
				                                                                    fontFamily:  AppState ( ) . isArabic ( context )  ?  ' Cairo '  :  ' Poppins ' , 
 
		
	
		
			
				                                                                    fontWeight:  FontWeight . w700 , 
 
		
	
		
			
				                                                                    letterSpacing:  - 0.2 , 
 
		
	
		
			
				                                                                    height:  24  /  16 , 
 
		
	
		
			
				                                                                    color:  MyColors . mazayaRedColor ,  / /  Use  your  MAZAYA  red  color  here  if  defined ,  e . g .  MyColors . mazayaRed 
 
		
	
		
			
				                                                                  ) , 
 
		
	
		
			
				                                                                ) , 
 
		
	
		
			
				                                                              ] , 
 
		
	
		
			
				                                                            ) 
 
		
	
		
			
				                                                            :  TextSpan ( 
 
		
	
		
			
				                                                              children:  [ 
 
		
	
		
			
				                                                                TextSpan ( 
 
		
	
		
			
				                                                                  text:  LocaleKeys . explore . tr ( )  +  '   ' , 
 
		
	
		
			
				                                                                  style:  const  TextStyle ( fontSize:  16 ,  letterSpacing:  - 0.2 ,  fontFamily:  ' Poppins ' ,  fontWeight:  FontWeight . w700 ,  height:  24  /  16 ,  color:  Color ( 0xFF5D5E5E ) ) , 
 
		
	
		
			
				                                                                ) , 
 
		
	
		
			
				                                                                TextSpan ( 
 
		
	
		
			
				                                                                  text:  LocaleKeys . mazaya . tr ( ) , 
 
		
	
		
			
				                                                                  style:  const  TextStyle ( 
 
		
	
		
			
				                                                                    fontSize:  16 , 
 
		
	
		
			
				                                                                    fontWeight:  FontWeight . w700 , 
 
		
	
		
			
				                                                                    fontFamily:  ' Poppins ' , 
 
		
	
		
			
				                                                                    letterSpacing:  - 0.2 , 
 
		
	
		
			
				                                                                    height:  24  /  16 , 
 
		
	
		
			
				                                                                    color:  MyColors . mazayaRedColor ,  / /  Use  your  MAZAYA  red  color  here  if  defined ,  e . g .  MyColors . mazayaRed 
 
		
	
		
			
				                                                                  ) , 
 
		
	
		
			
				                                                                ) , 
 
		
	
		
			
				                                                                TextSpan ( 
 
		
	
		
			
				                                                                  text:  '   '  +  LocaleKeys . benefits . tr ( ) , 
 
		
	
		
			
				                                                                  style:  const  TextStyle ( fontSize:  16 ,  letterSpacing:  - 0.2 , 
 
		
	
		
			
				                                                                      fontFamily:  ' Poppins ' , fontWeight:  FontWeight . w700 ,  height:  24  /  16 ,  color:  Color ( 0xFF5D5E5E ) ) , 
 
		
	
		
			
				                                                                ) , 
 
		
	
		
			
				                                                                4. height , 
 
		
	
		
			
				                                                              ] , 
 
		
	
		
			
				                                                            ) . paddingOnly ( left:  12 ,  right:  12 ) , 
 
		
	
		
			
				                                                          ) , 
 
		
	
		
			
				                                                          Container ( 
 
		
	
		
			
				                                                            margin:  EdgeInsets . only ( top:  AppState ( ) . isArabic ( context )  ?  6  :  0 ) , 
 
		
	
		
			
				                                                            width:  45 , 
 
		
	
		
			
				                                                            height:  45 , 
 
		
	
		
			
				                                                            padding:  const  EdgeInsets . only ( left:  10 ,  right:  10 ) , 
 
		
	
		
			
				                                                            decoration:  BoxDecoration ( 
 
		
	
		
			
				                                                              color:  Color ( 0xff259EA4 ) , 
 
		
	
		
			
				                                                              borderRadius:  BorderRadius . only ( 
 
		
	
		
			
				                                                                bottomRight:  AppState ( ) . isArabic ( context )  ?  Radius . circular ( 0 )  :  Radius . circular ( 15 ) , 
 
		
	
		
			
				                                                                bottomLeft:  AppState ( ) . isArabic ( context )  ?  Radius . circular ( 15 )  :  Radius . circular ( 0 ) , 
 
		
	
		
			
				                                                              ) , 
 
		
	
		
			
				                                                            ) , 
 
		
	
		
			
				                                                            child:  SvgPicture . asset ( model . isTimeRemainingInSeconds  = =  0  ?  " assets/images/biometrics.svg "  :  " assets/images/biometrics.svg " ) , 
 
		
	
		
			
				                                                          ) . onPress ( ( )  { 
 
		
	
		
			
				                                                            showMyBottomSheet ( context ,  callBackFunc:  ( )  { } ,  child:  MarkAttendanceWidget ( model ,  isFromDashboard:  true ) ) ; 
 
		
	
		
			
				                                                          } ) , 
 
		
	
		
			
				                                                        ] , 
 
		
	
		
			
				                                                      ) , 
 
		
	
		
			
				                                                    ] , 
 
		
	
		
			
				                                                  ) , 
 
		
	
		
			
				                                                ] , 
 
		
	
		
			
				                                              ) , 
 
		
	
		
			
				                                            ) . onPress ( ( )  { 
 
		
	
		
			
				                                              Navigator . pushNamed ( context ,  AppRoutes . todayAttendance ) ; 
 
		
	
		
			
				                                            } ) ) 
 
		
	
		
			
				                                        . animatedSwither ( ) ; 
 
		
	
		
			
				                                  } , 
 
		
	
		
			
				                                                ) , 
 
		
	
		
			
				                                                const  Expanded ( flex:  1 ,  child:  SizedBox ( ) ) , 
 
		
	
		
			
				                                              ] , 
 
		
	
		
			
				                                            ) , 
 
		
	
		
			
				                                            const  SizedBox ( height:  8 ) , 
 
		
	
		
			
				                                            LocaleKeys . mazayaDesc . tr ( ) . toText11 ( color:  const  Color ( 0xFF5D5E5E ) ) , 
 
		
	
		
			
				                                          ] , 
 
		
	
		
			
				                                        ) , 
 
		
	
		
			
				                                      ) , 
 
		
	
		
			
				                                      Expanded ( 
 
		
	
		
			
				                                        flex:  2 , 
 
		
	
		
			
				                                        child:  Column ( 
 
		
	
		
			
				                                          crossAxisAlignment:  CrossAxisAlignment . end , 
 
		
	
		
			
				                                          mainAxisAlignment:  MainAxisAlignment . end , 
 
		
	
		
			
				                                          children:  [ 
 
		
	
		
			
				                                            SvgPicture . asset ( " assets/icons/mazaya_brand.svg " ,  width:  90 ,  height:  47 ) , 
 
		
	
		
			
				                                            const  SizedBox ( height:  28 ) , 
 
		
	
		
			
				                                            LocaleKeys . viewallofferMazaya . tr ( ) . toText12 ( isUnderLine:  true ,  color:  const  Color ( 0xFF3B3D4A ) ) . onPress ( ( )  { 
 
		
	
		
			
				                                              Navigator . pushNamed ( context ,  AppRoutes . offersAndDiscounts ) ; 
 
		
	
		
			
				                                            } ) , 
 
		
	
		
			
				                                          ] , 
 
		
	
		
			
				                                        ) , 
 
		
	
		
			
				                                      ) , 
 
		
	
		
			
				                                    ] , 
 
		
	
		
			
				                                  ) . paddingOnly ( left:  21 ,  right:  21 ,  top:  14 ,  bottom:  14 ) , 
 
		
	
		
			
				                                ) , 
 
		
	
		
			
				                              ) , 
 
		
	
		
			
				                            ) , 
 
		
	
		
			
				                            9. width , 
 
		
	
		
			
				                            Expanded ( child:  MenusWidget ( ) ) , 
 
		
	
		
			
				                            ) . paddingOnly ( left:  21 ,  right:  21 ,  top:  0 ,  bottom:  21 ) , 
 
		
	
		
			
				                          ) , 
 
		
	
		
			
				                        ] , 
 
		
	
		
			
				                      ) , 
 
		
	
		
			
				                      Container ( 
 
		
	
		
			
				                        width:  double . infinity , 
 
		
	
		
			
				                        padding:  const  EdgeInsets . only ( top:  31 ) , 
 
		
	
		
			
				                        decoration:  BoxDecoration ( 
 
		
	
		
			
				                          color:  Colors . white , 
 
		
	
		
			
				                          borderRadius:  const  BorderRadius . only ( topRight:  Radius . circular ( 50 ) ,  topLeft:  Radius . circular ( 50 ) ) , 
 
		
	
		
			
				                          border:  Border . all ( color:  MyColors . lightGreyEDColor ,  width:  1 ) , 
 
		
	
		
			
				                        ) , 
 
		
	
		
			
				                        child:  Column ( 
 
		
	
		
			
				                          mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                          children:  [ 
 
		
	
		
			
				                            ServicesWidget ( ) , 
 
		
	
		
			
				                            context . watch < MarathonProvider > ( ) . isLoading  ?  const  MarathonBannerShimmer ( ) . paddingAll ( 20 )  :  const  MarathonBanner ( ) . paddingOnly ( left:  21 ,  right:  21 ,  bottom:  8 ,  top:  8 ) , 
 
		
	
		
			
				                            / /  context . watch < MarathonProvider > ( ) . isTutorialLoading 
 
		
	
		
			
				                            / /      ?  const  MarathonBannerShimmer ( ) . paddingAll ( 20 ) 
 
		
	
		
			
				                            / /      :  Container ( 
 
		
	
		
			
				                            / /          padding:  EdgeInsets . only ( bottom:  12 ,  top:  12 ) , 
 
		
	
		
			
				                            / /          margin:  EdgeInsets . only ( left:  21 ,  right:  21 ,  bottom:  21 ,  top:  8 ) , 
 
		
	
		
			
				                            / /          width:  double . infinity , 
 
		
	
		
			
				                            / /          alignment:  Alignment . center , 
 
		
	
		
			
				                            / /          decoration:  BoxDecoration ( 
 
		
	
		
			
				                            / /            color:  MyColors . backgroundBlackColor , 
 
		
	
		
			
				                            / /            borderRadius:  BorderRadius . circular ( 20 ) , 
 
		
	
		
			
				                            / /            border:  Border . all ( color:  MyColors . lightGreyEDColor ,  width:  1 ) , 
 
		
	
		
			
				                            / /          ) , 
 
		
	
		
			
				                            / /          child:  Column ( 
 
		
	
		
			
				                            / /            crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                            / /            mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                            / /            children:  [ 
 
		
	
		
			
				                            / /              Text ( 
 
		
	
		
			
				                            / /                " Tutorial: " , 
 
		
	
		
			
				                            / /                style:  TextStyle ( 
 
		
	
		
			
				                            / /                  fontSize:  11 , 
 
		
	
		
			
				                            / /                  fontStyle:  FontStyle . italic , 
 
		
	
		
			
				                            / /                  fontWeight:  FontWeight . w600 , 
 
		
	
		
			
				                            / /                  color:  MyColors . white . withOpacity ( 0.83 ) , 
 
		
	
		
			
				                            / /                  letterSpacing:  - 0.4 , 
 
		
	
		
			
				                            / /                ) , 
 
		
	
		
			
				                            / /              ) , 
 
		
	
		
			
				                            / /              Text ( 
 
		
	
		
			
				                            / /                context . read < MarathonProvider > ( ) . tutorial ? . tutorialName  ? ?  " " , 
 
		
	
		
			
				                            / /                overflow:  TextOverflow . ellipsis , 
 
		
	
		
			
				                            / /                style:  TextStyle ( 
 
		
	
		
			
				                            / /                  fontStyle:  FontStyle . italic , 
 
		
	
		
			
				                            / /                  fontSize:  19 , 
 
		
	
		
			
				                            / /                  fontWeight:  FontWeight . bold , 
 
		
	
		
			
				                            / /                  color:  MyColors . white , 
 
		
	
		
			
				                            / /                  height:  32  /  22 , 
 
		
	
		
			
				                            / /                ) , 
 
		
	
		
			
				                            / /              ) , 
 
		
	
		
			
				                            / /            ] , 
 
		
	
		
			
				                            / /          ) , 
 
		
	
		
			
				                            / /        ) . onPress ( ( )  { 
 
		
	
		
			
				                            / /          checkERMChannel ( ) ; 
 
		
	
		
			
				                            / /          / /  Navigator . pushNamed ( context ,  AppRoutes . marathonTutorialScreen ) ; 
 
		
	
		
			
				                            / /        } ) , 
 
		
	
		
			
				                          ] , 
 
		
	
		
			
				                        ) , 
 
		
	
		
			
				                      ] , 
 
		
	
		
			
				                    ) . paddingOnly ( left:  21 ,  right:  21 ,  top:  7 ,  bottom:  21 ) , 
 
		
	
		
			
				                    eventActivityWidget ( context ) , 
 
		
	
		
			
				                      ) , 
 
		
	
		
			
				                    ] , 
 
		
	
		
			
				                  ) , 
 
		
	
		
			
				                ) , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				        drawer:  AppDrawer ( onLanguageChange:  _onRefresh ) , 
 
		
	
		
			
				        bottomNavigationBar:  SizedBox ( 
 
		
	
		
			
				          height:  Platform . isAndroid  ?  70  :  100 , 
 
		
	
		
			
				          child:  BottomNavigationBar ( 
 
		
	
		
			
				            items:  < BottomNavigationBarItem > [ 
 
		
	
		
			
				              BottomNavigationBarItem ( icon:  SvgPicture . asset ( " assets/icons/home.svg " ,  color:  currentIndex  = =  0  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) ,  label:  LocaleKeys . home . tr ( ) ) , 
 
		
	
		
			
				              BottomNavigationBarItem ( 
 
		
	
		
			
				                icon:  SvgPicture . asset ( " assets/icons/create_req.svg " ,  color:  currentIndex  = =  1  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) , 
 
		
	
		
			
				                label:  LocaleKeys . mowadhafhiRequest . tr ( ) , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				              BottomNavigationBarItem ( 
 
		
	
		
			
				                icon:  Stack ( 
 
		
	
		
			
				                  alignment:  Alignment . centerLeft , 
 
		
	
		
			
				                  children:  [ 
 
		
	
		
			
				                    SvgPicture . asset ( " assets/icons/work_list.svg " ,  color:  currentIndex  = =  2  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) , 
 
		
	
		
			
				                    Consumer < DashboardProviderModel > ( 
 
		
	
		
			
				                      builder:  ( BuildContext  context ,  DashboardProviderModel  model ,  Widget ?  child )  { 
 
		
	
		
			
				                        if  ( ! model . isOffersLoading  & &  model . getOffersList . isEmpty )  { 
 
		
	
		
			
				                      builder:  ( BuildContext  c xt,  DashboardProviderModel  data ,  Widget ?  child )  { 
 
		
	
		
			
				                        if  ( data . workListCounter  = =  0 )  { 
 
		
	
		
			
				                          return  const  SizedBox ( ) ; 
 
		
	
		
			
				                        } 
 
		
	
		
			
				                        return  Column ( 
 
		
	
		
			
				                          mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                          crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                          children:  [ 
 
		
	
		
			
				                            Row ( 
 
		
	
		
			
				                              crossAxisAlignment:  CrossAxisAlignment . center , 
 
		
	
		
			
				                              children:  [ 
 
		
	
		
			
				                                Expanded ( 
 
		
	
		
			
				                                  child:  Column ( 
 
		
	
		
			
				                                    crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                                    mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                                    children:  [ 
 
		
	
		
			
				                                      LocaleKeys . offers . tr ( ) . toText12 ( ) , 
 
		
	
		
			
				                                      Row ( 
 
		
	
		
			
				                                        children:  [ 
 
		
	
		
			
				                                          LocaleKeys . discounts . tr ( ) . toText24 ( isBold:  true ) , 
 
		
	
		
			
				                                          6. width , 
 
		
	
		
			
				                                          Container ( 
 
		
	
		
			
				                                            padding:  const  EdgeInsets . only ( left:  8 ,  right:  8 ) , 
 
		
	
		
			
				                                            decoration:  BoxDecoration ( color:  MyColors . yellowColor ,  borderRadius:  BorderRadius . circular ( 10 ) ) , 
 
		
	
		
			
				                                            child:  LocaleKeys . newString . tr ( ) . toText10 ( isBold:  true ) , 
 
		
	
		
			
				                                          ) , 
 
		
	
		
			
				                                        ] , 
 
		
	
		
			
				                                      ) , 
 
		
	
		
			
				                                    ] , 
 
		
	
		
			
				                                  ) , 
 
		
	
		
			
				                                ) , 
 
		
	
		
			
				                                LocaleKeys . viewAllOffers . tr ( ) . toText12 ( isUnderLine:  true ) . onPress ( ( )  { 
 
		
	
		
			
				                                  Navigator . pushNamed ( context ,  AppRoutes . offersAndDiscounts ) ; 
 
		
	
		
			
				                                } ) , 
 
		
	
		
			
				                              ] , 
 
		
	
		
			
				                            ) . paddingOnly ( left:  21 ,  right:  21 ) , 
 
		
	
		
			
				                            Consumer < DashboardProviderModel > ( 
 
		
	
		
			
				                              builder:  ( BuildContext  context ,  DashboardProviderModel  model ,  Widget ?  child )  { 
 
		
	
		
			
				                                return  SizedBox ( 
 
		
	
		
			
				                                  height:  103  +  33 , 
 
		
	
		
			
				                                  child:  ListView . separated ( 
 
		
	
		
			
				                                    shrinkWrap:  true , 
 
		
	
		
			
				                                    physics:  const  BouncingScrollPhysics ( ) , 
 
		
	
		
			
				                                    padding:  const  EdgeInsets . only ( left:  21 ,  right:  21 ,  top:  13 ) , 
 
		
	
		
			
				                                    scrollDirection:  Axis . horizontal , 
 
		
	
		
			
				                                    itemBuilder:  ( BuildContext  cxt ,  int  index )  { 
 
		
	
		
			
				                                      return  model . isOffersLoading 
 
		
	
		
			
				                                          ?  const  OffersShimmerWidget ( ) 
 
		
	
		
			
				                                          :  InkWell ( 
 
		
	
		
			
				                                            onTap:  ( )  { 
 
		
	
		
			
				                                              navigateToDetails ( data . getOffersList [ index ] ) ; 
 
		
	
		
			
				                                            } , 
 
		
	
		
			
				                                            child:  SizedBox ( 
 
		
	
		
			
				                                              width:  73 , 
 
		
	
		
			
				                                              child:  Column ( 
 
		
	
		
			
				                                                crossAxisAlignment:  CrossAxisAlignment . center , 
 
		
	
		
			
				                                                children:  [ 
 
		
	
		
			
				                                                  Container ( 
 
		
	
		
			
				                                                    width:  73 , 
 
		
	
		
			
				                                                    height:  73 , 
 
		
	
		
			
				                                                    decoration:  BoxDecoration ( 
 
		
	
		
			
				                                                      color:  Colors . white , 
 
		
	
		
			
				                                                      borderRadius:  const  BorderRadius . all ( Radius . circular ( 100 ) ) , 
 
		
	
		
			
				                                                      border:  Border . all ( color:  MyColors . lightGreyE3Color ,  width:  1 ) , 
 
		
	
		
			
				                                                    ) , 
 
		
	
		
			
				                                                    child:  ClipRRect ( 
 
		
	
		
			
				                                                      borderRadius:  const  BorderRadius . all ( Radius . circular ( 50 ) ) , 
 
		
	
		
			
				                                                      child:  Hero ( 
 
		
	
		
			
				                                                        tag:  " ItemImage "  +  data . getOffersList [ index ] . offersDiscountId . toString ( ) ! , 
 
		
	
		
			
				                                                        transitionOnUserGestures:  true , 
 
		
	
		
			
				                                                        child:  Image . network ( data . getOffersList [ index ] . logo  ? ?  " " ,  fit:  BoxFit . contain ) , 
 
		
	
		
			
				                                                      ) , 
 
		
	
		
			
				                                                    ) , 
 
		
	
		
			
				                                                  ) , 
 
		
	
		
			
				                                                  4. height , 
 
		
	
		
			
				                                                  Expanded ( 
 
		
	
		
			
				                                                    child: 
 
		
	
		
			
				                                                        AppState ( ) . isArabic ( context ) 
 
		
	
		
			
				                                                            ?  data . getOffersList [ index ] . titleAr ! . toText12 ( isCenter:  true ,  maxLine:  1 ) 
 
		
	
		
			
				                                                            :  data . getOffersList [ index ] . titleEn ! . toText12 ( isCenter:  true ,  maxLine:  1 ) , 
 
		
	
		
			
				                                                  ) , 
 
		
	
		
			
				                                                ] , 
 
		
	
		
			
				                                              ) , 
 
		
	
		
			
				                                            ) , 
 
		
	
		
			
				                                          ) ; 
 
		
	
		
			
				                                    } , 
 
		
	
		
			
				                                    separatorBuilder:  ( BuildContext  cxt ,  int  index )  = >  8. width , 
 
		
	
		
			
				                                    itemCount:  9 , 
 
		
	
		
			
				                                  ) , 
 
		
	
		
			
				                                ) ; 
 
		
	
		
			
				                              } , 
 
		
	
		
			
				                            ) , 
 
		
	
		
			
				                          ] , 
 
		
	
		
			
				                        return  Positioned ( 
 
		
	
		
			
				                          right:  0 , 
 
		
	
		
			
				                          top:  0 , 
 
		
	
		
			
				                          child:  Container ( 
 
		
	
		
			
				                            padding:  const  EdgeInsets . only ( left:  4 ,  right:  4 ) , 
 
		
	
		
			
				                            alignment:  Alignment . center , 
 
		
	
		
			
				                            decoration:  BoxDecoration ( color:  MyColors . redColor ,  borderRadius:  BorderRadius . circular ( 17 ) ) , 
 
		
	
		
			
				                            child:  data . workListCounter . toString ( ) . toText10 ( color:  Colors . white ) , 
 
		
	
		
			
				                          ) , 
 
		
	
		
			
				                        ) ; 
 
		
	
		
			
				                      } , 
 
		
	
		
			
				                    ) , 
 
		
	
		
			
				                    Container ( 
 
		
	
		
			
				                      width:  double . infinity , 
 
		
	
		
			
				                      padding:  const  EdgeInsets . only ( top:  31 ) , 
 
		
	
		
			
				                      decoration:  BoxDecoration ( 
 
		
	
		
			
				                        color:  Colors . white , 
 
		
	
		
			
				                        borderRadius:  const  BorderRadius . only ( topRight:  Radius . circular ( 50 ) ,  topLeft:  Radius . circular ( 50 ) ) , 
 
		
	
		
			
				                        border:  Border . all ( color:  MyColors . lightGreyEDColor ,  width:  1 ) , 
 
		
	
		
			
				                      ) , 
 
		
	
		
			
				                      child:  Column ( 
 
		
	
		
			
				                        mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                        children:  [ 
 
		
	
		
			
				                          ServicesWidget ( ) , 
 
		
	
		
			
				                          context . watch < MarathonProvider > ( ) . isLoading  ?  const  MarathonBannerShimmer ( ) . paddingAll ( 20 )  :  const  MarathonBanner ( ) . paddingOnly ( left:  21 ,  right:  21 ,  bottom:  8 ,  top:  8 ) , 
 
		
	
		
			
				                          / /  context . watch < MarathonProvider > ( ) . isTutorialLoading 
 
		
	
		
			
				                          / /      ?  const  MarathonBannerShimmer ( ) . paddingAll ( 20 ) 
 
		
	
		
			
				                          / /      :  Container ( 
 
		
	
		
			
				                          / /          padding:  EdgeInsets . only ( bottom:  12 ,  top:  12 ) , 
 
		
	
		
			
				                          / /          margin:  EdgeInsets . only ( left:  21 ,  right:  21 ,  bottom:  21 ,  top:  8 ) , 
 
		
	
		
			
				                          / /          width:  double . infinity , 
 
		
	
		
			
				                          / /          alignment:  Alignment . center , 
 
		
	
		
			
				                          / /          decoration:  BoxDecoration ( 
 
		
	
		
			
				                          / /            color:  MyColors . backgroundBlackColor , 
 
		
	
		
			
				                          / /            borderRadius:  BorderRadius . circular ( 20 ) , 
 
		
	
		
			
				                          / /            border:  Border . all ( color:  MyColors . lightGreyEDColor ,  width:  1 ) , 
 
		
	
		
			
				                          / /          ) , 
 
		
	
		
			
				                          / /          child:  Column ( 
 
		
	
		
			
				                          / /            crossAxisAlignment:  CrossAxisAlignment . start , 
 
		
	
		
			
				                          / /            mainAxisSize:  MainAxisSize . min , 
 
		
	
		
			
				                          / /            children:  [ 
 
		
	
		
			
				                          / /              Text ( 
 
		
	
		
			
				                          / /                " Tutorial: " , 
 
		
	
		
			
				                          / /                style:  TextStyle ( 
 
		
	
		
			
				                          / /                  fontSize:  11 , 
 
		
	
		
			
				                          / /                  fontStyle:  FontStyle . italic , 
 
		
	
		
			
				                          / /                  fontWeight:  FontWeight . w600 , 
 
		
	
		
			
				                          / /                  color:  MyColors . white . withOpacity ( 0.83 ) , 
 
		
	
		
			
				                          / /                  letterSpacing:  - 0.4 , 
 
		
	
		
			
				                          / /                ) , 
 
		
	
		
			
				                          / /              ) , 
 
		
	
		
			
				                          / /              Text ( 
 
		
	
		
			
				                          / /                context . read < MarathonProvider > ( ) . tutorial ? . tutorialName  ? ?  " " , 
 
		
	
		
			
				                          / /                overflow:  TextOverflow . ellipsis , 
 
		
	
		
			
				                          / /                style:  TextStyle ( 
 
		
	
		
			
				                          / /                  fontStyle:  FontStyle . italic , 
 
		
	
		
			
				                          / /                  fontSize:  19 , 
 
		
	
		
			
				                          / /                  fontWeight:  FontWeight . bold , 
 
		
	
		
			
				                          / /                  color:  MyColors . white , 
 
		
	
		
			
				                          / /                  height:  32  /  22 , 
 
		
	
		
			
				                          / /                ) , 
 
		
	
		
			
				                          / /              ) , 
 
		
	
		
			
				                          / /            ] , 
 
		
	
		
			
				                          / /          ) , 
 
		
	
		
			
				                          / /        ) . onPress ( ( )  { 
 
		
	
		
			
				                          / /          checkERMChannel ( ) ; 
 
		
	
		
			
				                          / /          / /  Navigator . pushNamed ( context ,  AppRoutes . marathonTutorialScreen ) ; 
 
		
	
		
			
				                          / /        } ) , 
 
		
	
		
			
				                        ] , 
 
		
	
		
			
				                      ) , 
 
		
	
		
			
				                    ) , 
 
		
	
		
			
				                  ] , 
 
		
	
		
			
				                ) , 
 
		
	
		
			
				                label:  LocaleKeys . workList . tr ( ) , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ) , 
 
		
	
		
			
				        ] , 
 
		
	
		
			
				      ) , 
 
		
	
		
			
				      drawer:  SafeArea ( child:  AppDrawer ( onLanguageChange:  _onRefresh ) ) , 
 
		
	
		
			
				      bottomNavigationBar:  SizedBox ( 
 
		
	
		
			
				        height:  Platform . isAndroid  ?  70  :  100 , 
 
		
	
		
			
				        child:  BottomNavigationBar ( 
 
		
	
		
			
				          items:  < BottomNavigationBarItem > [ 
 
		
	
		
			
				            BottomNavigationBarItem ( icon:  SvgPicture . asset ( " assets/icons/home.svg " ,  color:  currentIndex  = =  0  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) ,  label:  LocaleKeys . home . tr ( ) ) , 
 
		
	
		
			
				            BottomNavigationBarItem ( 
 
		
	
		
			
				              icon:  SvgPicture . asset ( " assets/icons/create_req.svg " ,  color:  currentIndex  = =  1  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) , 
 
		
	
		
			
				              label:  LocaleKeys . mowadhafhiRequest . tr ( ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				            BottomNavigationBarItem ( 
 
		
	
		
			
				              icon:  Stack ( 
 
		
	
		
			
				                alignment:  Alignment . centerLeft , 
 
		
	
		
			
				                children:  [ 
 
		
	
		
			
				                  SvgPicture . asset ( " assets/icons/work_list.svg " ,  color:  currentIndex  = =  2  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) , 
 
		
	
		
			
				                  Consumer < DashboardProviderModel > ( 
 
		
	
		
			
				                    builder:  ( BuildContext  cxt ,  DashboardProviderModel  data ,  Widget ?  child )  { 
 
		
	
		
			
				                      if  ( data . workListCounter  = =  0 )  { 
 
		
	
		
			
				                        return  const  SizedBox ( ) ; 
 
		
	
		
			
				                      } 
 
		
	
		
			
				                      return  Positioned ( 
 
		
	
		
			
				                        right:  0 , 
 
		
	
		
			
				                        top:  0 , 
 
		
	
		
			
				                        child:  Container ( 
 
		
	
		
			
				                          padding:  const  EdgeInsets . only ( left:  4 ,  right:  4 ) , 
 
		
	
		
			
				                          alignment:  Alignment . center , 
 
		
	
		
			
				                          decoration:  BoxDecoration ( color:  MyColors . redColor ,  borderRadius:  BorderRadius . circular ( 17 ) ) , 
 
		
	
		
			
				                          child:  data . workListCounter . toString ( ) . toText10 ( color:  Colors . white ) , 
 
		
	
		
			
				                        ) , 
 
		
	
		
			
				                      ) ; 
 
		
	
		
			
				                    } , 
 
		
	
		
			
				                  ) , 
 
		
	
		
			
				                ] , 
 
		
	
		
			
				              BottomNavigationBarItem ( 
 
		
	
		
			
				                icon:  SvgPicture . asset ( " assets/icons/item_for_sale.svg " ,  color:  currentIndex  = =  3  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) , 
 
		
	
		
			
				                label:  LocaleKeys . itemsForSale . tr ( ) , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				              label:  LocaleKeys . workList . tr ( ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				            BottomNavigationBarItem ( 
 
		
	
		
			
				              icon:  SvgPicture . asset ( " assets/icons/item_for_sale.svg " ,  color:  currentIndex  = =  3  ?  MyColors . grey3AColor  :  MyColors . grey98Color ) . paddingAll ( 4 ) , 
 
		
	
		
			
				              label:  LocaleKeys . itemsForSale . tr ( ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				            BottomNavigationBarItem ( 
 
		
	
		
			
				              icon:  Stack ( 
 
		
	
		
			
				                alignment:  Alignment . centerLeft , 
 
		
	
		
			
				                children:  [ 
 
		
	
		
			
				                  SvgPicture . asset ( 
 
		
	
		
			
				                    " assets/icons/chat/chat.svg " , 
 
		
	
		
			
				                    color: 
 
		
	
		
			
				                        ! checkIfPrivilegedForChat ( ) 
 
		
	
		
			
				                            ?  MyColors . lightGreyE3Color 
 
		
	
		
			
				                            :  currentIndex  = =  4 
 
		
	
		
			
				                            ?  MyColors . grey3AColor 
 
		
	
		
			
				                            :  cProvider . disbaleChatForThisUser 
 
		
	
		
			
				                            ?  MyColors . lightGreyE3Color 
 
		
	
		
			
				                            :  MyColors . grey98Color , 
 
		
	
		
			
				                  ) . paddingAll ( 4 ) , 
 
		
	
		
			
				                  Consumer < ChatProviderModel > ( 
 
		
	
		
			
				                    builder:  ( BuildContext  cxt ,  ChatProviderModel  data ,  Widget ?  child )  { 
 
		
	
		
			
				                      return  ! checkIfPrivilegedForChat ( ) 
 
		
	
		
			
				                          ?  const  SizedBox ( ) 
 
		
	
		
			
				                          :  Positioned ( 
 
		
	
		
			
				                            right:  0 , 
 
		
	
		
			
				                            top:  0 , 
 
		
	
		
			
				                            child:  Container ( 
 
		
	
		
			
				                              padding:  const  EdgeInsets . only ( left:  4 ,  right:  4 ) , 
 
		
	
		
			
				                              alignment:  Alignment . center , 
 
		
	
		
			
				                              decoration:  BoxDecoration ( color:  cProvider . disbaleChatForThisUser  ?  MyColors . pinkDarkColor  :  MyColors . redColor ,  borderRadius:  BorderRadius . circular ( 17 ) ) , 
 
		
	
		
			
				                              child:  data . chatUConvCounter . toString ( ) . toText10 ( color:  Colors . white ) , 
 
		
	
		
			
				                            ) , 
 
		
	
		
			
				                          ) ; 
 
		
	
		
			
				                    } , 
 
		
	
		
			
				                  ) , 
 
		
	
		
			
				                ] , 
 
		
	
		
			
				              BottomNavigationBarItem ( 
 
		
	
		
			
				                icon:  Stack ( 
 
		
	
		
			
				                  alignment:  Alignment . centerLeft , 
 
		
	
		
			
				                  children:  [ 
 
		
	
		
			
				                    SvgPicture . asset ( 
 
		
	
		
			
				                      " assets/icons/chat/chat.svg " , 
 
		
	
		
			
				                      color: 
 
		
	
		
			
				                          ! checkIfPrivilegedForChat ( ) 
 
		
	
		
			
				                              ?  MyColors . lightGreyE3Color 
 
		
	
		
			
				                              :  currentIndex  = =  4 
 
		
	
		
			
				                              ?  MyColors . grey3AColor 
 
		
	
		
			
				                              :  cProvider . disbaleChatForThisUser 
 
		
	
		
			
				                              ?  MyColors . lightGreyE3Color 
 
		
	
		
			
				                              :  MyColors . grey98Color , 
 
		
	
		
			
				                    ) . paddingAll ( 4 ) , 
 
		
	
		
			
				                    Consumer < ChatProviderModel > ( 
 
		
	
		
			
				                      builder:  ( BuildContext  cxt ,  ChatProviderModel  data ,  Widget ?  child )  { 
 
		
	
		
			
				                        return  ! checkIfPrivilegedForChat ( ) 
 
		
	
		
			
				                            ?  const  SizedBox ( ) 
 
		
	
		
			
				                            :  Positioned ( 
 
		
	
		
			
				                              right:  0 , 
 
		
	
		
			
				                              top:  0 , 
 
		
	
		
			
				                              child:  Container ( 
 
		
	
		
			
				                                padding:  const  EdgeInsets . only ( left:  4 ,  right:  4 ) , 
 
		
	
		
			
				                                alignment:  Alignment . center , 
 
		
	
		
			
				                                decoration:  BoxDecoration ( color:  cProvider . disbaleChatForThisUser  ?  MyColors . pinkDarkColor  :  MyColors . redColor ,  borderRadius:  BorderRadius . circular ( 17 ) ) , 
 
		
	
		
			
				                                child:  data . chatUConvCounter . toString ( ) . toText10 ( color:  Colors . white ) , 
 
		
	
		
			
				                              ) , 
 
		
	
		
			
				                            ) ; 
 
		
	
		
			
				                      } , 
 
		
	
		
			
				                    ) , 
 
		
	
		
			
				                  ] , 
 
		
	
		
			
				                ) , 
 
		
	
		
			
				                label:  LocaleKeys . chat . tr ( ) , 
 
		
	
		
			
				              ) , 
 
		
	
		
			
				              label:  LocaleKeys . chat . tr ( ) , 
 
		
	
		
			
				            ) , 
 
		
	
		
			
				          ] , 
 
		
	
		
			
				          currentIndex:  currentIndex , 
 
		
	
		
			
				          selectedLabelStyle:  const  TextStyle ( fontSize:  10 ,  color:  MyColors . grey3AColor ,  fontWeight:  FontWeight . w600 ) , 
 
		
	
		
			
				          unselectedLabelStyle:  const  TextStyle ( fontSize:  10 ,  color:  MyColors . grey98Color ,  fontWeight:  FontWeight . w600 ) , 
 
		
	
		
			
				          type:  BottomNavigationBarType . fixed , 
 
		
	
		
			
				          selectedItemColor:  MyColors . grey3AColor , 
 
		
	
		
			
				          backgroundColor:  MyColors . backgroundColor , 
 
		
	
		
			
				          selectedIconTheme:  const  IconThemeData ( color:  MyColors . grey3AColor ,  size:  28 ) , 
 
		
	
		
			
				          unselectedIconTheme:  const  IconThemeData ( color:  MyColors . grey98Color ,  size:  28 ) , 
 
		
	
		
			
				          onTap:  ( int  index )  { 
 
		
	
		
			
				            if  ( index  = =  1 )  { 
 
		
	
		
			
				              Navigator . pushNamed ( context ,  AppRoutes . mowadhafhi ) ; 
 
		
	
		
			
				            }  else  if  ( index  = =  2 )  { 
 
		
	
		
			
				              Navigator . pushNamed ( context ,  AppRoutes . workList ) ; 
 
		
	
		
			
				            }  else  if  ( index  = =  3 )  { 
 
		
	
		
			
				              Navigator . pushNamed ( context ,  AppRoutes . itemsForSale ) ; 
 
		
	
		
			
				            }  else  if  ( index  = =  4 )  { 
 
		
	
		
			
				              if  ( ! cProvider . disbaleChatForThisUser  & &  checkIfPrivilegedForChat ( ) )  { 
 
		
	
		
			
				                Navigator . pushNamed ( context ,  AppRoutes . chat ) ; 
 
		
	
		
			
				            ] , 
 
		
	
		
			
				            currentIndex:  currentIndex , 
 
		
	
		
			
				            selectedLabelStyle:  const  TextStyle ( fontSize:  10 ,  color:  MyColors . grey3AColor ,  fontWeight:  FontWeight . w600 ) , 
 
		
	
		
			
				            unselectedLabelStyle:  const  TextStyle ( fontSize:  10 ,  color:  MyColors . grey98Color ,  fontWeight:  FontWeight . w600 ) , 
 
		
	
		
			
				            type:  BottomNavigationBarType . fixed , 
 
		
	
		
			
				            selectedItemColor:  MyColors . grey3AColor , 
 
		
	
		
			
				            backgroundColor:  MyColors . backgroundColor , 
 
		
	
		
			
				            selectedIconTheme:  const  IconThemeData ( color:  MyColors . grey3AColor ,  size:  28 ) , 
 
		
	
		
			
				            unselectedIconTheme:  const  IconThemeData ( color:  MyColors . grey98Color ,  size:  28 ) , 
 
		
	
		
			
				            onTap:  ( int  index )  { 
 
		
	
		
			
				              if  ( index  = =  1 )  { 
 
		
	
		
			
				                Navigator . pushNamed ( context ,  AppRoutes . mowadhafhi ) ; 
 
		
	
		
			
				              }  else  if  ( index  = =  2 )  { 
 
		
	
		
			
				                Navigator . pushNamed ( context ,  AppRoutes . workList ) ; 
 
		
	
		
			
				              }  else  if  ( index  = =  3 )  { 
 
		
	
		
			
				                Navigator . pushNamed ( context ,  AppRoutes . itemsForSale ) ; 
 
		
	
		
			
				              }  else  if  ( index  = =  4 )  { 
 
		
	
		
			
				                if  ( ! cProvider . disbaleChatForThisUser  & &  checkIfPrivilegedForChat ( ) )  { 
 
		
	
		
			
				                  Navigator . pushNamed ( context ,  AppRoutes . chat ) ; 
 
		
	
		
			
				                } 
 
		
	
		
			
				              } 
 
		
	
		
			
				            } 
 
		
	
		
			
				          } , 
 
		
	
		
			
				            } , 
 
		
	
		
			
				          ) , 
 
		
	
		
			
				        ) , 
 
		
	
		
			
				      ) , 
 
		
	
		
			
				    ) ;