|  |  |  | @ -56,6 +56,8 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   int currentIndex = 0; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   bool isDisplayMazaya = false; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   @override | 
		
	
		
			
				|  |  |  |  |   void initState() { | 
		
	
		
			
				|  |  |  |  |     WidgetsBinding.instance.addObserver(this); | 
		
	
	
		
			
				
					|  |  |  | @ -149,10 +151,11 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |     data.fetchAttendanceTracking(context); | 
		
	
		
			
				|  |  |  |  |     data.fetchWorkListCounter(context); | 
		
	
		
			
				|  |  |  |  |     data.fetchMissingSwipe(context); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     data.fetchLeaveTicketBalance(context, DateTime.now()); | 
		
	
		
			
				|  |  |  |  |     data.fetchMenuEntries(); | 
		
	
		
			
				|  |  |  |  |     data.fetchEventActivity(); | 
		
	
		
			
				|  |  |  |  |     // data.getCategoryOffersListAPI(context); | 
		
	
		
			
				|  |  |  |  |     data.getCategoryOffersListAPI(context); | 
		
	
		
			
				|  |  |  |  |     marathonProvider.getMarathonDetailsFromApi(); | 
		
	
		
			
				|  |  |  |  |     marathonProvider.getMarathonTutorial(); | 
		
	
		
			
				|  |  |  |  |     if (isFromInit) { | 
		
	
	
		
			
				
					|  |  |  | @ -160,6 +163,12 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |     if (!cProvider.disbaleChatForThisUser && !isFromInit) checkHubCon(); | 
		
	
		
			
				|  |  |  |  |     _refreshController.refreshCompleted(); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     await data.fetchTicketBooking(); | 
		
	
		
			
				|  |  |  |  |     // if (data.ticketBookingResponse != null && !data.ticketBookingResponse!.success) { | 
		
	
		
			
				|  |  |  |  |     //   // data.fetchTicketBalance(); | 
		
	
		
			
				|  |  |  |  |     // } | 
		
	
		
			
				|  |  |  |  |     //continue here | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   int ermIndex = 0; | 
		
	
	
		
			
				
					|  |  |  | @ -414,6 +423,8 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |                         ], | 
		
	
		
			
				|  |  |  |  |                       ).paddingOnly(left: 21, right: 21, top: 7, bottom: 21), | 
		
	
		
			
				|  |  |  |  |                       eventActivityWidget(context), | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |                       if (isDisplayMazaya) ...[ | 
		
	
		
			
				|  |  |  |  |                         Column( | 
		
	
		
			
				|  |  |  |  |                           mainAxisSize: MainAxisSize.min, | 
		
	
		
			
				|  |  |  |  |                           crossAxisAlignment: CrossAxisAlignment.start, | 
		
	
	
		
			
				
					|  |  |  | @ -453,7 +464,14 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |                                                         children: [ | 
		
	
		
			
				|  |  |  |  |                                                           TextSpan( | 
		
	
		
			
				|  |  |  |  |                                                             text: 'اطلع على مميزات', | 
		
	
		
			
				|  |  |  |  |                                                                   style: TextStyle(fontSize: 16, letterSpacing: -0.2, fontFamily: AppState().isArabic(context) ? 'Cairo' : 'Poppins', fontWeight: FontWeight.w700, height: 24 / 16, color: Color(0xFF5D5E5E)), | 
		
	
		
			
				|  |  |  |  |                                                             style: TextStyle( | 
		
	
		
			
				|  |  |  |  |                                                               fontSize: 16, | 
		
	
		
			
				|  |  |  |  |                                                               letterSpacing: -0.2, | 
		
	
		
			
				|  |  |  |  |                                                               fontFamily: AppState().isArabic(context) ? 'Cairo' : 'Poppins', | 
		
	
		
			
				|  |  |  |  |                                                               fontWeight: FontWeight.w700, | 
		
	
		
			
				|  |  |  |  |                                                               height: 24 / 16, | 
		
	
		
			
				|  |  |  |  |                                                               color: Color(0xFF5D5E5E), | 
		
	
		
			
				|  |  |  |  |                                                             ), | 
		
	
		
			
				|  |  |  |  |                                                           ), | 
		
	
		
			
				|  |  |  |  |                                                           TextSpan( | 
		
	
		
			
				|  |  |  |  |                                                             text: ' مزايا', | 
		
	
	
		
			
				
					|  |  |  | @ -472,7 +490,14 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |                                                         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)), | 
		
	
		
			
				|  |  |  |  |                                                             style: const TextStyle( | 
		
	
		
			
				|  |  |  |  |                                                               fontSize: 16, | 
		
	
		
			
				|  |  |  |  |                                                               letterSpacing: -0.2, | 
		
	
		
			
				|  |  |  |  |                                                               fontFamily: 'Poppins', | 
		
	
		
			
				|  |  |  |  |                                                               fontWeight: FontWeight.w700, | 
		
	
		
			
				|  |  |  |  |                                                               height: 24 / 16, | 
		
	
		
			
				|  |  |  |  |                                                               color: Color(0xFF5D5E5E), | 
		
	
		
			
				|  |  |  |  |                                                             ), | 
		
	
		
			
				|  |  |  |  |                                                           ), | 
		
	
		
			
				|  |  |  |  |                                                           TextSpan( | 
		
	
		
			
				|  |  |  |  |                                                             text: LocaleKeys.mazaya.tr(), | 
		
	
	
		
			
				
					|  |  |  | @ -487,8 +512,14 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |                                                           ), | 
		
	
		
			
				|  |  |  |  |                                                           TextSpan( | 
		
	
		
			
				|  |  |  |  |                                                             text: ' ' + LocaleKeys.benefits.tr(), | 
		
	
		
			
				|  |  |  |  |                                                                   style: const TextStyle(fontSize: 16, letterSpacing: -0.2, | 
		
	
		
			
				|  |  |  |  |                                                                       fontFamily: 'Poppins',fontWeight: FontWeight.w700, height: 24 / 16, color: Color(0xFF5D5E5E)), | 
		
	
		
			
				|  |  |  |  |                                                             style: const TextStyle( | 
		
	
		
			
				|  |  |  |  |                                                               fontSize: 16, | 
		
	
		
			
				|  |  |  |  |                                                               letterSpacing: -0.2, | 
		
	
		
			
				|  |  |  |  |                                                               fontFamily: 'Poppins', | 
		
	
		
			
				|  |  |  |  |                                                               fontWeight: FontWeight.w700, | 
		
	
		
			
				|  |  |  |  |                                                               height: 24 / 16, | 
		
	
		
			
				|  |  |  |  |                                                               color: Color(0xFF5D5E5E), | 
		
	
		
			
				|  |  |  |  |                                                             ), | 
		
	
		
			
				|  |  |  |  |                                                           ), | 
		
	
		
			
				|  |  |  |  |                                                         ], | 
		
	
		
			
				|  |  |  |  |                                                       ), | 
		
	
	
		
			
				
					|  |  |  | @ -524,6 +555,106 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |                             ), | 
		
	
		
			
				|  |  |  |  |                           ], | 
		
	
		
			
				|  |  |  |  |                         ), | 
		
	
		
			
				|  |  |  |  |                       ], | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |                       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), | 
		
	
		
			
				|  |  |  |  |                               ); | 
		
	
		
			
				|  |  |  |  |                             }, | 
		
	
		
			
				|  |  |  |  |                           ), | 
		
	
		
			
				|  |  |  |  |                         ], | 
		
	
		
			
				|  |  |  |  |                       ), | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |                       Container( | 
		
	
		
			
				|  |  |  |  |                         width: double.infinity, | 
		
	
		
			
				|  |  |  |  |                         padding: const EdgeInsets.only(top: 31), | 
		
	
	
		
			
				
					|  |  |  | @ -595,7 +726,10 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb | 
		
	
		
			
				|  |  |  |  |           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/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(), | 
		
	
	
		
			
				
					|  |  |  | 
 |