import 'package:car_customer_app/view_models/appointments_view_model.dart'; import 'package:car_customer_app/view_models/dashboard_view_model.dart'; import 'package:car_customer_app/view_models/providers_view_model.dart'; import 'package:car_customer_app/views/appointments/widgets/customer_appointment_slider_widget.dart'; import 'package:flutter/material.dart'; import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/view_models/ad_view_model.dart'; import 'package:mc_common_app/views/advertisement/ads_list.dart'; import 'package:mc_common_app/widgets/common_widgets/my_service_provider.dart'; import 'package:mc_common_app/widgets/common_widgets/view_all_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:provider/provider.dart'; class HomeFragment extends StatelessWidget { const HomeFragment({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return SizedBox( width: double.infinity, height: double.infinity, child: SingleChildScrollView( child: Padding( padding: const EdgeInsets.only(top: 8), child: Column( mainAxisSize: MainAxisSize.max, children: [ 16.height, ViewAllWidget( title: "Upcoming Appointment".toUpperCase(), subTitle: "View All", onSubtitleTapped: () { context.read().onNavbarTapped(1); context.read().applyFilterOnAppointmentsVM(index: 0); }, ).horPaddingMain(), CustomerAppointmentSliderWidget(myUpComingAppointments: context.watch().myAppointments), 7.height, ViewAllWidget( title: "My Recent Service Providers".toUpperCase(), subTitle: "View All", onSubtitleTapped: () { print("value: ${AppState().getUser.data!.accessToken}"); context.read().onNavbarTapped(0); context.read().applyFilterOnProviders(index: 0); }).horPaddingMain(), const ServiceProviderWidget().horPaddingMain(), Consumer( builder: (BuildContext context, AdVM adVM, Widget? child) { return Column( children: [ if (adVM.myActiveAdsForHome.isNotEmpty) ...[ Column( children: [ 15.height, ViewAllWidget( title: "My Active Ads".toUpperCase(), subTitle: "View All", onSubtitleTapped: () { context.read().onNavbarTapped(3); context.read().updateIsExploreAds(false); }).horPaddingMain(), BuildAdsList( shouldShowAdStatus: true, isAdsFragment: false, adsList: adVM.myActiveAdsForHome, scrollPhysics: NeverScrollableScrollPhysics(), ), ], ) ], if (adVM.exploreAds.isNotEmpty) ...[ Column( children: [ 15.height, ViewAllWidget( title: "My Recommended Ads".toUpperCase(), subTitle: "View All", onSubtitleTapped: () { context.read().onNavbarTapped(3); context.read().updateIsExploreAds(true); context.read().applyFilterOnExploreAds(index: 0); }, ).horPaddingMain(), BuildAdsList( shouldShowAdStatus: false, adsList: adVM.exploreAds.length >= 3 ? adVM.exploreAds.take(3).toList() : adVM.exploreAds, isAdsFragment: false, scrollPhysics: NeverScrollableScrollPhysics(), ), ], ) ] ], ); }, ), 20.height, ], ), ), ), ); } }