From 6acb8031d09d8b54e861b588d67f938ab456b8ee Mon Sep 17 00:00:00 2001 From: mosazaid Date: Tue, 5 Oct 2021 16:23:54 +0300 Subject: [PATCH] fix bugs pharmacy home --- .../pharmacyModule/BestSellerViewModel.dart | 12 ++-- .../pharmacyModule/BrandViewModel.dart | 12 ++-- .../pharmacyModule/LastVisitedViewModel.dart | 10 ++-- .../pharmacy_module_view_model.dart | 2 +- lib/pages/landing/home_page.dart | 1 + .../widgets/home/BestSellerWidget.dart | 15 ++++- .../widgets/home/RecentlyViewedWidget.dart | 4 +- .../widgets/home/ShopByBrandWidget.dart | 55 ++++++++++++------- .../widgets/home/ViewAllHomeWidget.dart | 4 +- 9 files changed, 72 insertions(+), 43 deletions(-) diff --git a/lib/core/viewModels/pharmacyModule/BestSellerViewModel.dart b/lib/core/viewModels/pharmacyModule/BestSellerViewModel.dart index f530999b..b03ee5b9 100644 --- a/lib/core/viewModels/pharmacyModule/BestSellerViewModel.dart +++ b/lib/core/viewModels/pharmacyModule/BestSellerViewModel.dart @@ -13,14 +13,14 @@ class BestSellerViewModel extends BaseViewModel { _pharmacyService.bestSellerProducts; getBestSellerProducts() async { - setState(ViewState.Busy); + setState(ViewState.BusyLocal); await _pharmacyService.getBestSellerProducts(); - if (_pharmacyService.hasError) { - error = _pharmacyService.error; - setState(ViewState.Error); - } else { + // if (_pharmacyService.hasError) { + // error = _pharmacyService.error; + // setState(ViewState.Error); + // } else { setState(ViewState.Idle); - } + // } } } \ No newline at end of file diff --git a/lib/core/viewModels/pharmacyModule/BrandViewModel.dart b/lib/core/viewModels/pharmacyModule/BrandViewModel.dart index 8ffc057a..c1cdc8bc 100644 --- a/lib/core/viewModels/pharmacyModule/BrandViewModel.dart +++ b/lib/core/viewModels/pharmacyModule/BrandViewModel.dart @@ -11,14 +11,14 @@ class BrandViewModel extends BaseViewModel { List get manufacturerList => _pharmacyService.manufacturerList; Future getTopManufacturerList() async { - setState(ViewState.Busy); + setState(ViewState.BusyLocal); await _pharmacyService.getTopManufacturerList(); - if (_pharmacyService.hasError) { - error = _pharmacyService.error; - setState(ViewState.Error); - } else { + // if (_pharmacyService.hasError) { + // error = _pharmacyService.error; + // setState(ViewState.Error); + // } else { setState(ViewState.Idle); - } + // } } @override diff --git a/lib/core/viewModels/pharmacyModule/LastVisitedViewModel.dart b/lib/core/viewModels/pharmacyModule/LastVisitedViewModel.dart index f38851d9..568e56f8 100644 --- a/lib/core/viewModels/pharmacyModule/LastVisitedViewModel.dart +++ b/lib/core/viewModels/pharmacyModule/LastVisitedViewModel.dart @@ -15,11 +15,11 @@ class LastVisitedViewModel extends BaseViewModel { getLastVisitedProducts() async { setState(ViewState.BusyLocal); await _pharmacyService.getLastVisitedProducts(); - if (_pharmacyService.hasError) { - error = _pharmacyService.error; - setState(ViewState.Error); - } else { + // if (_pharmacyService.hasError) { + // error = _pharmacyService.error; + // setState(ViewState.Error); + // } else { setState(ViewState.Idle); - } + // } } } \ No newline at end of file diff --git a/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart b/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart index 3f986bcc..facccf1e 100644 --- a/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart +++ b/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart @@ -40,7 +40,7 @@ class PharmacyModuleViewModel extends BaseViewModel { } Future verifyCustomer() async { - if (authenticatedUserObject.isLogin) await generatePharmacyToken(); + // if (authenticatedUserObject.isLogin) await generatePharmacyToken(); var data = await sharedPref.getObject(USER_PROFILE); var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID); diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index acc05e71..4e19386b 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -825,6 +825,7 @@ class _HomePageState extends State { } else { GifLoaderDialogUtils.showMyDialog(context); await pharmacyModuleViewModel.generatePharmacyToken().then((value) async { + await pharmacyModuleViewModel.verifyCustomer().then((value) { GifLoaderDialogUtils.hideDialog(context); Navigator.push(context, FadePage(page: LandingPagePharmacy())); diff --git a/lib/pages/pharmacies/widgets/home/BestSellerWidget.dart b/lib/pages/pharmacies/widgets/home/BestSellerWidget.dart index 5784acaa..baf771b2 100644 --- a/lib/pages/pharmacies/widgets/home/BestSellerWidget.dart +++ b/lib/pages/pharmacies/widgets/home/BestSellerWidget.dart @@ -1,3 +1,4 @@ +import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/BestSellerViewModel.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; @@ -26,6 +27,7 @@ class BestSellerWidget extends StatelessWidget { id: "", productType: 20, )), + if (model.state != ViewState.BusyLocal) Container( height: MediaQuery.of(context).size.height / 4 + 20, child: ListView.builder( @@ -34,7 +36,18 @@ class BestSellerWidget extends StatelessWidget { scrollDirection: Axis.horizontal, itemCount: model.bestSellerProduct.length, ), - ), + ) else + Container( + height: 80, + child: Center( + child: CircularProgressIndicator( + backgroundColor: Colors.white, + valueColor: AlwaysStoppedAnimation( + Colors.grey[500], + ), + ), + ), + ), ], ), ), diff --git a/lib/pages/pharmacies/widgets/home/RecentlyViewedWidget.dart b/lib/pages/pharmacies/widgets/home/RecentlyViewedWidget.dart index aaedee65..15e9e700 100644 --- a/lib/pages/pharmacies/widgets/home/RecentlyViewedWidget.dart +++ b/lib/pages/pharmacies/widgets/home/RecentlyViewedWidget.dart @@ -18,7 +18,7 @@ class RecentlyViewedWidget extends StatelessWidget { builder: (_, model, wi) => NetworkBaseView( isLocalLoader: true, baseViewModel: model, - child: Container( + child: model.lastVisitedProducts.isNotEmpty ? Container( child: Column( children: [ ViewAllHomeWidget( @@ -53,7 +53,7 @@ class RecentlyViewedWidget extends StatelessWidget { ), ], ), - ), + ) : Container(), )); } } diff --git a/lib/pages/pharmacies/widgets/home/ShopByBrandWidget.dart b/lib/pages/pharmacies/widgets/home/ShopByBrandWidget.dart index 3d892a43..8f4f943d 100644 --- a/lib/pages/pharmacies/widgets/home/ShopByBrandWidget.dart +++ b/lib/pages/pharmacies/widgets/home/ShopByBrandWidget.dart @@ -1,3 +1,4 @@ +import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/BrandViewModel.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; @@ -15,26 +16,38 @@ class ShopByBrandWidget extends StatelessWidget { onModelReady: (model) => model.getTopManufacturerList(), allowAny: true, builder: (_, model, wi) => NetworkBaseView( - isLocalLoader: true, - baseViewModel: model, - child: Container( - child: Column( - children: [ - ViewAllHomeWidget( - TranslationBase.of(context).shopByBrands, - ProductBrandsPage()), - Container( - height: 100, - child: ListView.builder( - itemBuilder: (ctx, i) => - ManufacturerItem(model.manufacturerList[i]), - scrollDirection: Axis.horizontal, - itemCount: model.manufacturerList.length, - ), + isLocalLoader: true, + baseViewModel: model, + child: Container( + child: Column( + children: [ + ViewAllHomeWidget(TranslationBase.of(context).shopByBrands, + ProductBrandsPage()), + if (model.state != ViewState.BusyLocal) + Container( + height: 100, + child: ListView.builder( + itemBuilder: (ctx, i) => + ManufacturerItem(model.manufacturerList[i]), + scrollDirection: Axis.horizontal, + itemCount: model.manufacturerList.length, + ), + ) + else + Container( + height: 80, + child: Center( + child: CircularProgressIndicator( + backgroundColor: Colors.white, + valueColor: AlwaysStoppedAnimation( + Colors.grey[500], + ), + ), + ), + ), + ], ), - ], - ), - ), - )); + ), + )); } -} \ No newline at end of file +} diff --git a/lib/pages/pharmacies/widgets/home/ViewAllHomeWidget.dart b/lib/pages/pharmacies/widgets/home/ViewAllHomeWidget.dart index 93a9df0c..05c57f2e 100644 --- a/lib/pages/pharmacies/widgets/home/ViewAllHomeWidget.dart +++ b/lib/pages/pharmacies/widgets/home/ViewAllHomeWidget.dart @@ -21,14 +21,16 @@ class ViewAllHomeWidget extends StatelessWidget { Texts( title, bold: true, + fontSize: 16, ), BorderedButton( TranslationBase.of(context).viewAll, hasBorder: true, borderColor: Colors.green, textColor: Colors.green, + fontWeight: FontWeight.bold, vPadding: 6, - hPadding: 8, + hPadding: 14, handler: () { Navigator.push( context,