From a71e17baed3c4b006c7a4f5b569827acf339719b Mon Sep 17 00:00:00 2001 From: Faiz Hashmi Date: Sun, 8 Dec 2024 17:28:06 +0300 Subject: [PATCH] added lazy loading --- .../dashboard/fragments/ads_fragment.dart | 153 ------------------ .../dashboard/fragments/home_fragment.dart | 2 + 2 files changed, 2 insertions(+), 153 deletions(-) delete mode 100644 lib/views/dashboard/fragments/ads_fragment.dart diff --git a/lib/views/dashboard/fragments/ads_fragment.dart b/lib/views/dashboard/fragments/ads_fragment.dart deleted file mode 100644 index da2fc9d..0000000 --- a/lib/views/dashboard/fragments/ads_fragment.dart +++ /dev/null @@ -1,153 +0,0 @@ -// import 'package:flutter/material.dart'; -// import 'package:mc_common_app/classes/app_state.dart'; -// import 'package:mc_common_app/classes/consts.dart'; -// import 'package:mc_common_app/config/dependency_injection.dart'; -// import 'package:mc_common_app/config/routes.dart'; -// import 'package:mc_common_app/extensions/int_extensions.dart'; -// import 'package:mc_common_app/extensions/string_extensions.dart'; -// import 'package:mc_common_app/generated/locale_keys.g.dart'; -// import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart'; -// import 'package:mc_common_app/theme/colors.dart'; -// import 'package:mc_common_app/utils/enums.dart'; -// import 'package:mc_common_app/utils/navigator.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/button/show_fill_button.dart'; -// import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; -// import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; -// import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; -// import 'package:provider/provider.dart'; -// import 'package:easy_localization/easy_localization.dart'; -// -// class AdsFragment extends StatelessWidget { -// AdsFragment({Key? key}) : super(key: key); -// -// List getAdsList(AdVM adVM) { -// if (adVM.isExploreAdsTapped) { -// return adVM.exploreAdsFilteredList; -// } -// if (adVM.myAdsFilteredList.isNotEmpty) { -// return adVM.myAdsFilteredList; -// } -// return []; -// } -// -// @override -// Widget build(BuildContext context) { -// return Consumer( -// builder: (BuildContext context, AdVM adVM, Widget? child) { -// return Scaffold( -// appBar: CustomAppBar( -// title: LocaleKeys.ads.tr(), -// isRemoveBackButton: true, -// actions: [ -// Padding( -// padding: EdgeInsets.only(top: adVM.adsFiltersCounter > 0 ? 20 : 0, right: 21), -// child: Badge( -// isLabelVisible: adVM.adsFiltersCounter > 0, -// largeSize: 15, -// smallSize: 20, -// backgroundColor: MyColors.darkPrimaryColor, -// label: Text('${adVM.adsFiltersCounter}'), -// child: MyAssets.searchIcon.buildSvg(), -// ), -// ).onPress(() { -// navigateWithName(context, AppRoutes.adsFilterView); -// }) -// ], -// ), -// body: SizedBox( -// width: double.infinity, -// height: double.infinity, -// child: Column( -// children: [ -// 16.height, -// Consumer( -// builder: (BuildContext context, AdVM adVM, Widget? child) { -// return Column( -// children: [ -// Row( -// children: [ -// Expanded( -// child: ShowFillButton( -// isFilled: adVM.isExploreAdsTapped, -// maxHeight: 55, -// title: LocaleKeys.exploreAds.tr(), -// txtColor: adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor, -// onPressed: () { -// print("accessToken: ${AppState().getUser.data!.accessToken}"); -// adVM.populateAdsFilterList(); -// if (adVM.myAds.isEmpty) { -// adVM.getMyAds(); -// } -// adVM.updateIsExploreAds(true); -// }, -// ), -// ), -// 12.width, -// Expanded( -// child: ShowFillButton( -// isFilled: !adVM.isExploreAdsTapped, -// txtColor: !adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor, -// maxHeight: 55, -// title: LocaleKeys.myAds.tr(), -// onPressed: () { -// adVM.updateIsExploreAds(false); -// }, -// ), -// ), -// ], -// ).horPaddingMain(), -// if (adVM.isExploreAdsTapped) ...[ -// if (adVM.adsFiltersCounter == 0) ...[ -// 16.height, -// FiltersList( -// filterList: adVM.exploreAdsFilterOptions, -// onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnExploreAds(createdByRoleFilter: selectedFilterId.toCreatedByRoleEnum()), -// needLeftPadding: false) -// .paddingOnly(left: 21), -// ] -// ] else ...[ -// 16.height, -// FiltersList( -// filterList: adVM.myAdsFilterOptions, -// onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnMyAds(adPostStatusEnum: selectedFilterId.toAdPostEnum()), -// needLeftPadding: false, -// ).paddingOnly(left: 21), -// ], -// ], -// ); -// }, -// ), -// 16.height, -// Expanded( -// child: RefreshIndicator( -// onRefresh: () async { -// await adVM.getExploreAds(); -// await adVM.getMyAds(); -// }, -// child: BuildAdsList( -// isAdsFragment: true, -// shouldShowAdStatus: !adVM.isExploreAdsTapped, -// adsList: getAdsList(adVM), -// ), -// ), -// ) -// ], -// ), -// ), -// floatingActionButton: FloatingActionButton( -// onPressed: () async { -// navigateWithName(context, AppRoutes.selectAdTypeView, arguments: injector.get().currentAppType == AppType.provider); -// }, -// backgroundColor: MyColors.darkPrimaryColor, -// child: Icon( -// Icons.add, -// color: MyColors.white, -// ), -// ), -// ); -// }, -// ); -// } -// } diff --git a/lib/views/dashboard/fragments/home_fragment.dart b/lib/views/dashboard/fragments/home_fragment.dart index 5184911..e98131d 100644 --- a/lib/views/dashboard/fragments/home_fragment.dart +++ b/lib/views/dashboard/fragments/home_fragment.dart @@ -165,6 +165,7 @@ class HomeFragment extends StatelessWidget { isAdsFragment: false, adsList: adVM.myActiveAdsForHome, scrollPhysics: NeverScrollableScrollPhysics(), + hasMoreData: adVM.isExploreAdsTapped ? adVM.hasMoreDataForExploreAds : adVM.hasMoreDataForMyAds, ), ], ) @@ -187,6 +188,7 @@ class HomeFragment extends StatelessWidget { adsList: adVM.exploreAds.length >= 3 ? adVM.exploreAds.take(3).toList() : adVM.exploreAds, isAdsFragment: false, scrollPhysics: NeverScrollableScrollPhysics(), + hasMoreData: adVM.isExploreAdsTapped ? adVM.hasMoreDataForExploreAds : adVM.hasMoreDataForMyAds, ), ], )