From 94a99a911e3c8a52363361116c23165a928852e4 Mon Sep 17 00:00:00 2001 From: Zohaib Iqbal Kambrani <> Date: Wed, 25 May 2022 12:57:06 +0300 Subject: [PATCH] Offer And Packages (View Only) --- .../fragments/home_page_fragment2.dart | 5 ++- .../ClinicOfferAndPackagesPage.dart | 3 +- .../packages_offers/OfferAndPackagesPage.dart | 23 +++++----- .../packages_offers_tab_pager.dart | 44 ++++++++++--------- .../offers_packages/PackagesOfferCard.dart | 13 +++--- 5 files changed, 49 insertions(+), 39 deletions(-) diff --git a/lib/pages/landing/fragments/home_page_fragment2.dart b/lib/pages/landing/fragments/home_page_fragment2.dart index 7e9ed25c..6828b56f 100644 --- a/lib/pages/landing/fragments/home_page_fragment2.dart +++ b/lib/pages/landing/fragments/home_page_fragment2.dart @@ -284,13 +284,14 @@ class _HomePageFragment2State extends State { } Widget offersButton() { + final bypassPrivilageCheck = false; return Expanded( flex: 1, child: InkWell( onTap: () { projectViewModel.analytics.offerPackages.log(); AuthenticatedUser user = projectViewModel.user; - if(projectViewModel.havePrivilege(82)) + if(projectViewModel.havePrivilege(82) || bypassPrivilageCheck) Navigator.of(context).push(MaterialPageRoute(builder: (context) => PackagesOfferTabPage(user))); }, child: Stack( @@ -438,7 +439,7 @@ class _HomePageFragment2State extends State { ], ), ), - projectViewModel.havePrivilege(82) + projectViewModel.havePrivilege(82) || bypassPrivilageCheck ? Container() : Container( width: double.infinity, diff --git a/lib/pages/packages_offers/ClinicOfferAndPackagesPage.dart b/lib/pages/packages_offers/ClinicOfferAndPackagesPage.dart index e0c715f6..b8469420 100644 --- a/lib/pages/packages_offers/ClinicOfferAndPackagesPage.dart +++ b/lib/pages/packages_offers/ClinicOfferAndPackagesPage.dart @@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/model/packages_offers/requests/AddProd import 'package:diplomaticquarterapp/core/model/packages_offers/responses/PackagesResponseModel.dart'; import 'package:diplomaticquarterapp/core/viewModels/packages_offers/PackagesOffersViewModel.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; +import 'package:diplomaticquarterapp/pages/packages_offers/packages_offers_tab_pager.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart' as utils; import 'package:diplomaticquarterapp/widgets/offers_packages/PackagesOfferCard.dart'; @@ -81,7 +82,7 @@ class _ClinicPackagesPageState extends State with AfterLayou child: PackagesItemCard( itemContentPadding: 10, itemModel: _products[index], - onCartClick: onProductCartClick, + onCartClick: OFFERS_VIEW_ONLY ? onProductCartClick : null, )), staggeredTileBuilder: (int index) => StaggeredTile.fit(2), mainAxisSpacing: 20, diff --git a/lib/pages/packages_offers/OfferAndPackagesPage.dart b/lib/pages/packages_offers/OfferAndPackagesPage.dart index 4a72aeb8..6f8d06b5 100644 --- a/lib/pages/packages_offers/OfferAndPackagesPage.dart +++ b/lib/pages/packages_offers/OfferAndPackagesPage.dart @@ -14,6 +14,7 @@ import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h20_setting import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/packages_offers/ClinicOfferAndPackagesPage.dart'; import 'package:diplomaticquarterapp/pages/packages_offers/OfferAndPackagesCartPage.dart'; +import 'package:diplomaticquarterapp/pages/packages_offers/packages_offers_tab_pager.dart'; import 'package:diplomaticquarterapp/pages/packages_offers/packages_orders_history.dart'; import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart' as auth; @@ -102,7 +103,8 @@ class _PackagesHomePageState extends State { padding: EdgeInsets.only(top: 21, bottom: 21), physics: BouncingScrollPhysics(), children: [ - inputWidget(TranslationBase.of(context).search, "", _searchTextController, isInputTypeNum: false), + if(OFFERS_VIEW_ONLY) + inputWidget(TranslationBase.of(context).search, "", _searchTextController, isInputTypeNum: false), SizedBox(height: 12), Padding( padding: const EdgeInsets.only(left: 21, right: 21), @@ -125,7 +127,7 @@ class _PackagesHomePageState extends State { itemBuilder: (BuildContext context, int index) { return PackagesItemCard( itemModel: viewModel.bestSellerList[index], - onCartClick: onProductCartClick, + onCartClick: OFFERS_VIEW_ONLY ? onProductCartClick : null, ); }, ), @@ -146,7 +148,7 @@ class _PackagesHomePageState extends State { itemBuilder: (BuildContext context, int index) { return PackagesItemCard( itemModel: viewModel.latestOffersList[index], - onCartClick: onProductCartClick, + onCartClick: OFFERS_VIEW_ONLY ? onProductCartClick : null, ); }, ), @@ -155,13 +157,14 @@ class _PackagesHomePageState extends State { ), ), - DefaultButton( - TranslationBase.of(context).myCart, - onCartClick, - svgIcon: "assets/images/new/cart.svg", - isTextExpanded: false, - count: viewModel?.service?.customer?.shoppingCartItems?.length ?? 0, - ).insideContainer + if(OFFERS_VIEW_ONLY) + DefaultButton( + TranslationBase.of(context).myCart, + onCartClick, + svgIcon: "assets/images/new/cart.svg", + isTextExpanded: false, + count: viewModel?.service?.customer?.shoppingCartItems?.length ?? 0, + ).insideContainer ], ); }, diff --git a/lib/pages/packages_offers/packages_offers_tab_pager.dart b/lib/pages/packages_offers/packages_offers_tab_pager.dart index 7042327d..413fe29c 100644 --- a/lib/pages/packages_offers/packages_offers_tab_pager.dart +++ b/lib/pages/packages_offers/packages_offers_tab_pager.dart @@ -10,6 +10,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +bool OFFERS_VIEW_ONLY = false; class PackagesOfferTabPage extends StatefulWidget{ AuthenticatedUser user; @@ -47,30 +48,33 @@ class PackagesOfferTabPageState extends State with SingleT showNewAppBarTitle: true, body: Column( children: [ - TabBar( - controller: _tabController, - indicatorWeight: 3.0, - indicatorSize: TabBarIndicatorSize.tab, - labelColor: Color(0xff2B353E), - unselectedLabelColor: Color(0xff575757), - labelPadding: EdgeInsets.only(top: 15, bottom: 13, left: 20, right: 20), - labelStyle: TextStyle( - fontFamily: _projectViewModel.isArabic ? 'Cairo' : 'Poppins', - fontSize: 16, - fontWeight: FontWeight.w600, - letterSpacing: -0.48, - ), - unselectedLabelStyle: TextStyle( - fontFamily: _projectViewModel.isArabic ? 'Cairo' : 'Poppins', - fontSize: 16, - fontWeight: FontWeight.w600, - letterSpacing: -0.48, + SizedBox( + height: OFFERS_VIEW_ONLY ? null : 0, + child: TabBar( + controller: _tabController, + indicatorWeight: 3.0, + indicatorSize: TabBarIndicatorSize.tab, + labelColor: Color(0xff2B353E), + unselectedLabelColor: Color(0xff575757), + labelPadding: EdgeInsets.only(top: 15, bottom: 13, left: 20, right: 20), + labelStyle: TextStyle( + fontFamily: _projectViewModel.isArabic ? 'Cairo' : 'Poppins', + fontSize: 16, + fontWeight: FontWeight.w600, + letterSpacing: -0.48, + ), + unselectedLabelStyle: TextStyle( + fontFamily: _projectViewModel.isArabic ? 'Cairo' : 'Poppins', + fontSize: 16, + fontWeight: FontWeight.w600, + letterSpacing: -0.48, + ), + tabs: [Text(TranslationBase.of(context).offerAndPackages), Text(TranslationBase.of(context).orderLog)], ), - tabs: [Text(TranslationBase.of(context).offerAndPackages), Text(TranslationBase.of(context).orderLog)], ), Expanded( child: TabBarView( - physics: BouncingScrollPhysics(), + physics: OFFERS_VIEW_ONLY ? BouncingScrollPhysics() : NeverScrollableScrollPhysics(), controller: _tabController, children: [ PackagesHomePage(widget.user), diff --git a/lib/widgets/offers_packages/PackagesOfferCard.dart b/lib/widgets/offers_packages/PackagesOfferCard.dart index 3bf66383..f0f7938c 100644 --- a/lib/widgets/offers_packages/PackagesOfferCard.dart +++ b/lib/widgets/offers_packages/PackagesOfferCard.dart @@ -111,12 +111,13 @@ class PackagesItemCardState extends State { ), ], ), - InkWell( - child: SvgPicture.asset("assets/images/new/add_to_cart.svg"), - onTap: () { - widget.onCartClick(widget.itemModel); - }, - ), + if(widget.onCartClick != null) + InkWell( + child: SvgPicture.asset("assets/images/new/add_to_cart.svg"), + onTap: () { + widget.onCartClick(widget.itemModel); + }, + ), ], ), ),