diff --git a/Frontend/lib/mih_components/mih_providers/mzansi_wallet_provider.dart b/Frontend/lib/mih_components/mih_providers/mzansi_wallet_provider.dart new file mode 100644 index 00000000..9358eaa1 --- /dev/null +++ b/Frontend/lib/mih_components/mih_providers/mzansi_wallet_provider.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_objects/loyalty_card.dart'; + +class MzansiWalletProvider extends ChangeNotifier { + List loyaltyCards; + List favouriteCards; + int toolIndex; + + MzansiWalletProvider({ + this.loyaltyCards = const [], + this.favouriteCards = const [], + this.toolIndex = 0, + }); + + void setToolIndex(int index) { + toolIndex = index; + notifyListeners(); + } + + void setLoyaltyCards({required List cards}) async { + loyaltyCards = cards; + notifyListeners(); + } + + void setFavouriteCards({required List cards}) async { + favouriteCards = cards; + notifyListeners(); + } + + void addLoyaltyCard({required MIHLoyaltyCard newCard}) { + loyaltyCards.add(newCard); + notifyListeners(); + } + + void deleteLoyaltyCard({required int cardId}) { + loyaltyCards.removeWhere((card) => card.idloyalty_cards == cardId); + notifyListeners(); + } + + void editLoyaltyCard({required MIHLoyaltyCard updatedCard}) { + int index = loyaltyCards.indexWhere( + (card) => card.idloyalty_cards == updatedCard.idloyalty_cards); + if (index != -1) { + loyaltyCards[index] = updatedCard; + notifyListeners(); + } + } +} diff --git a/Frontend/lib/mih_packages/mine_sweeper/mih_mine_sweeper.dart b/Frontend/lib/mih_packages/mine_sweeper/mih_mine_sweeper.dart new file mode 100644 index 00000000..98fd163f --- /dev/null +++ b/Frontend/lib/mih_packages/mine_sweeper/mih_mine_sweeper.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class MihMineSweeper extends StatefulWidget { + const MihMineSweeper({super.key}); + + @override + State createState() => _MihMineSweeperState(); +} + +class _MihMineSweeperState extends State { + @override + Widget build(BuildContext context) { + return const Placeholder(); + } +} diff --git a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart index b791c364..9e70cd87 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart @@ -3,10 +3,10 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:go_router/go_router.dart'; import 'package:ken_logger/ken_logger.dart'; import 'package:mzansi_innovation_hub/main.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_banner_ad.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_wallet_services.dart'; @@ -22,6 +22,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_objects/loyalty_card.da import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/components/mih_card_display.dart'; import 'package:flutter/material.dart'; import 'package:barcode_widget/barcode_widget.dart'; +import 'package:provider/provider.dart'; import 'package:screen_brightness/screen_brightness.dart'; class BuildLoyaltyCardList extends StatefulWidget { @@ -149,6 +150,7 @@ class _BuildLoyaltyCardListState extends State { .updateLoyaltyCardAPICall( widget.signedInUser, widget.cardList[index].idloyalty_cards, + widget.cardList[index].shop_name, widget.cardList[index].favourite, widget.cardList[index].priority_index, _nicknameController.text, @@ -158,13 +160,28 @@ class _BuildLoyaltyCardListState extends State { if (statusCode == 200) { context.pop(); context.pop(); - context.goNamed( - "mzansiWallet", - extra: WalletArguments( - widget.signedInUser, - 0, - ), - ); + // context + // .read() + // .editLoyaltyCard( + // updatedCard: MIHLoyaltyCard( + // idloyalty_cards: + // widget.cardList[index].idloyalty_cards, + // app_id: widget.signedInUser.app_id, + // shop_name: widget.cardList[index].shop_name, + // card_number: _cardNumberController.text, + // favourite: widget.cardList[index].favourite, + // priority_index: + // widget.cardList[index].priority_index, + // nickname: _nicknameController.text, + // ), + // ); + // context.goNamed( + // "mzansiWallet", + // extra: WalletArguments( + // widget.signedInUser, + // 0, + // ), + // ); } else { internetConnectionPopUp(); } @@ -212,9 +229,6 @@ class _BuildLoyaltyCardListState extends State { context, ); if (statusCode == 200) { - setState(() { - widget.cardList.removeAt(index); - }); context.pop(); context.pop(); } else { @@ -260,6 +274,7 @@ class _BuildLoyaltyCardListState extends State { await MIHMzansiWalletApis.updateLoyaltyCardAPICall( widget.signedInUser, widget.cardList[index].idloyalty_cards, + widget.cardList[index].shop_name, "Yes", _noFavourites, widget.cardList[index].nickname, @@ -269,13 +284,9 @@ class _BuildLoyaltyCardListState extends State { if (statusCode == 200) { context.pop(); context.pop(); - context.goNamed( - "mzansiWallet", - extra: WalletArguments( - widget.signedInUser, - 1, - ), - ); + await MIHMzansiWalletApis.getFavouriteLoyaltyCards( + widget.signedInUser.app_id, context); + context.read().setToolIndex(1); } else { internetConnectionPopUp(); } @@ -345,6 +356,7 @@ class _BuildLoyaltyCardListState extends State { await MIHMzansiWalletApis.updateLoyaltyCardAPICall( widget.signedInUser, widget.cardList[index].idloyalty_cards, + widget.cardList[index].shop_name, "", 0, widget.cardList[index].nickname, @@ -354,13 +366,9 @@ class _BuildLoyaltyCardListState extends State { if (statusCode == 200) { context.pop(); context.pop(); - context.goNamed( - "mzansiWallet", - extra: WalletArguments( - widget.signedInUser, - 0, - ), - ); + await MIHMzansiWalletApis.getFavouriteLoyaltyCards( + widget.signedInUser.app_id, context); + context.read().setToolIndex(0); } else { internetConnectionPopUp(); } diff --git a/Frontend/lib/mih_packages/mzansi_wallet/components/mih_add_card_window.dart b/Frontend/lib/mih_packages/mzansi_wallet/components/mih_add_card_window.dart index b3a845f7..9d990cf2 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/components/mih_add_card_window.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/components/mih_add_card_window.dart @@ -1,12 +1,9 @@ -// ignore_for_file: must_be_immutable - import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:ken_logger/ken_logger.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_objects/loyalty_card.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_dropdwn_field.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_form.dart'; @@ -22,12 +19,10 @@ import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart' class MihAddCardWindow extends StatefulWidget { final AppUser signedInUser; - Future> cardList; - MihAddCardWindow({ + const MihAddCardWindow({ super.key, required this.signedInUser, - required this.cardList, }); @override @@ -133,8 +128,6 @@ class _MihAddCardWindowState extends State { } } - // ... rest of your existing methods - @override Widget build(BuildContext context) { final double width = MediaQuery.sizeOf(context).width; @@ -320,11 +313,6 @@ class _MihAddCardWindowState extends State { context, ); if (statusCode == 201) { - setState(() { - widget.cardList = - MIHMzansiWalletApis.getLoyaltyCards( - widget.signedInUser.app_id); - }); context.pop(); KenLogger.error("Card Added Successfully"); successPopUp( diff --git a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart index bff4aa00..7392b322 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart @@ -3,17 +3,19 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart'; +import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_cards.dart'; -import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_wallet_services.dart'; +import 'package:provider/provider.dart'; class MihWallet extends StatefulWidget { final WalletArguments arguments; - // final AppUser signedInUser; const MihWallet({ super.key, required this.arguments, - // required this.signedInUser, }); @override @@ -21,13 +23,34 @@ class MihWallet extends StatefulWidget { } class _MihWalletState extends State { - late int _selcetedIndex; + bool isLoading = true; + + void setPackageIndex() { + if (widget.arguments.index >= 0 && widget.arguments.index <= 3) { + context.read().setToolIndex(widget.arguments.index); + } + } + + Future setLoyaltyCards() async { + await MIHMzansiWalletApis.getLoyaltyCards( + widget.arguments.signedInUser.app_id, context); + } + + Future setFavouritesCards() async { + await MIHMzansiWalletApis.getFavouriteLoyaltyCards( + widget.arguments.signedInUser.app_id, context); + } @override void initState() { super.initState(); - setState(() { - _selcetedIndex = widget.arguments.index; + WidgetsBinding.instance.addPostFrameCallback((_) async { + setPackageIndex(); + await setLoyaltyCards(); + await setFavouritesCards(); + setState(() { + isLoading = false; + }); }); } @@ -38,12 +61,13 @@ class _MihWalletState extends State { appTools: getTools(), appBody: getToolBody(), appToolTitles: getToolTitle(), - selectedbodyIndex: _selcetedIndex, - onIndexChange: (newValue) { - setState(() { - _selcetedIndex = newValue; - }); - print("Index: $_selcetedIndex"); + selectedbodyIndex: context.watch().toolIndex, + onIndexChange: (newIndex) { + context.read().setToolIndex(newIndex); + // setState(() { + // _selcetedIndex = newValue; + // }); + // print("Index: $_selcetedIndex"); }, ); } @@ -65,19 +89,15 @@ class _MihWalletState extends State { MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.card_membership)] = () { - setState(() { - _selcetedIndex = 0; - }); + context.read().setToolIndex(0); }; temp[const Icon(Icons.favorite)] = () { - setState(() { - _selcetedIndex = 1; - }); + context.read().setToolIndex(1); }; return MihPackageTools( tools: temp, - selcetedIndex: _selcetedIndex, + selcetedIndex: context.watch().toolIndex, ); } @@ -90,6 +110,13 @@ class _MihWalletState extends State { signedInUser: widget.arguments.signedInUser, ), ]; + if (isLoading) { + return [ + const Center( + child: Mihloadingcircle(), + ) + ]; + } return toolBodies; } diff --git a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart index 2cd705e2..af483d2d 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_banner_ad.dart'; -import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_wallet_services.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/loyalty_card.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart'; +import 'package:provider/provider.dart'; class MihCardFavourites extends StatefulWidget { final AppUser signedInUser; @@ -24,13 +24,17 @@ class _MihCardFavouritesState extends State { late MihBannerAd _bannerAd; List listOfCards = []; + void getFavouriteLoyaltyCards(BuildContext context) async { + setState(() { + listOfCards = context.read().favouriteCards; + }); + } + @override void initState() { - super.initState(); _bannerAd = MihBannerAd(); - cardList = MIHMzansiWalletApis.getFavouriteLoyaltyCards( - widget.signedInUser.app_id, - ); + getFavouriteLoyaltyCards(context); + super.initState(); } @override @@ -47,69 +51,23 @@ class _MihCardFavouritesState extends State { MihSingleChildScroll( child: Column( children: [ - FutureBuilder( - future: cardList, - builder: (context, snapshot) { - if (snapshot.connectionState == ConnectionState.waiting) { - return const Center( - child: Mihloadingcircle(), - ); - } else if (snapshot.connectionState == ConnectionState.done && - snapshot.hasData) { - listOfCards = snapshot.data!; - // searchShop(); - return BuildLoyaltyCardList( - cardList: listOfCards, - signedInUser: widget.signedInUser, - navIndex: 0, - bannerAd: _bannerAd, - favouritesMode: true, - searchText: TextEditingController(), - onCardViewClose: () { - setState(() { - _bannerAd = MihBannerAd(); - }); - Navigator.pop(context); - }, - ); - } else { - return const Center( - child: Text("Error Loading Loyalty Cards"), - ); - } + BuildLoyaltyCardList( + cardList: listOfCards, + signedInUser: widget.signedInUser, + navIndex: 0, + bannerAd: _bannerAd, + favouritesMode: true, + searchText: TextEditingController(), + onCardViewClose: () { + setState(() { + _bannerAd = MihBannerAd(); + }); + Navigator.pop(context); }, ), ], ), ), - // Positioned( - // right: 0, - // bottom: 0, - // child: MihFloatingMenu( - // animatedIcon: AnimatedIcons.menu_close, - // children: [ - // SpeedDialChild( - // child: Icon( - // Icons.add, - // color: - // MihColors.getPrimaryColor(MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - // ), - // label: "Add Loyalty Card", - // labelBackgroundColor: - // MihColors.getGreenColor(MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - // labelStyle: TextStyle( - // color: - // MihColors.getPrimaryColor(MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - // fontWeight: FontWeight.bold, - // ), - // backgroundColor: - // MihColors.getGreenColor(MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - // onTap: () { - // // addCardWindow(context); - // }, - // ) - // ]), - // ) ], ); } diff --git a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart index e806717c..26bf46a7 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart @@ -3,21 +3,21 @@ import 'package:go_router/go_router.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_banner_ad.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/components/mih_add_card_window.dart'; -import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_wallet_services.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_search_bar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/loyalty_card.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart'; import 'package:flutter/material.dart'; import 'package:mobile_scanner/mobile_scanner.dart'; +import 'package:provider/provider.dart'; class MihCards extends StatefulWidget { final AppUser signedInUser; @@ -33,7 +33,6 @@ class MihCards extends StatefulWidget { class _MihCardsState extends State { final TextEditingController cardSearchController = TextEditingController(); final FocusNode searchFocusNode = FocusNode(); - late Future> cardList; MihBannerAd _bannerAd = MihBannerAd(); List listOfCards = []; final ValueNotifier> searchShopName = ValueNotifier([]); @@ -132,7 +131,6 @@ class _MihCardsState extends State { barrierDismissible: false, builder: (context) => MihAddCardWindow( signedInUser: widget.signedInUser, - cardList: cardList, ), ); } @@ -146,9 +144,16 @@ class _MihCardsState extends State { super.dispose(); } + void getLoyaltyCards(BuildContext context) async { + setState(() { + listOfCards = context.read().loyaltyCards; + }); + searchShop(); + } + @override void initState() { - cardList = MIHMzansiWalletApis.getLoyaltyCards(widget.signedInUser.app_id); + getLoyaltyCards(context); cardSearchController.addListener(searchShop); super.initState(); } @@ -187,23 +192,14 @@ class _MihCardsState extends State { ), ), const SizedBox(height: 10), - FutureBuilder( - future: cardList, - builder: (context, snapshot) { - if (snapshot.connectionState == ConnectionState.waiting) { - return const Center( - child: Mihloadingcircle(), - ); - } else if (snapshot.connectionState == ConnectionState.done && - snapshot.hasData) { - listOfCards = snapshot.data!; - searchShop(); - return ValueListenableBuilder( + Consumer( + builder: (context, mzansiWalletProvider, child) { + listOfCards = mzansiWalletProvider.loyaltyCards; + return ValueListenableBuilder>( valueListenable: searchShopName, - builder: (BuildContext context, - List value, Widget? child) { + builder: (context, filteredCards, child) { return BuildLoyaltyCardList( - cardList: value, + cardList: filteredCards, //listOfCards, signedInUser: widget.signedInUser, navIndex: 0, bannerAd: _bannerAd, @@ -216,13 +212,7 @@ class _MihCardsState extends State { // Navigator.pop(context); }, ); - }, - ); - } else { - return const Center( - child: Text("Error Loading Loyalty Cards"), - ); - } + }); }, ), ], diff --git a/Frontend/lib/mih_services/mih_mzansi_wallet_services.dart b/Frontend/lib/mih_services/mih_mzansi_wallet_services.dart index 01254196..7dcdd4e1 100644 --- a/Frontend/lib/mih_services/mih_mzansi_wallet_services.dart +++ b/Frontend/lib/mih_services/mih_mzansi_wallet_services.dart @@ -5,6 +5,8 @@ import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/loyalty_card.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart'; +import 'package:provider/provider.dart'; import 'package:supertokens_flutter/http.dart' as http; import '../mih_components/mih_pop_up_messages/mih_error_message.dart'; @@ -14,45 +16,39 @@ import '../mih_config/mih_env.dart'; class MIHMzansiWalletApis { final baseAPI = AppEnviroment.baseApiUrl; - /// This function is used to fetch a list of loyalty cards for a user. - /// - /// Patameters: app_id . - /// - /// Returns List. - static Future> getLoyaltyCards( + static Future getLoyaltyCards( String app_id, + BuildContext context, ) async { final response = await http.get(Uri.parse( "${AppEnviroment.baseApiUrl}/mzasni-wallet/loyalty-cards/$app_id")); if (response.statusCode == 200) { Iterable l = jsonDecode(response.body); - List patientQueue = List.from( + List myCards = List.from( l.map((model) => MIHLoyaltyCard.fromJson(model))); - return patientQueue; + context.read().setLoyaltyCards(cards: myCards); + // return myCards; } else { throw Exception('failed to fatch loyalty cards'); } } - /// This function is used to fetch a list of loyalty cards for a user. - /// - /// Patameters: app_id . - /// - /// Returns List. - static Future> getFavouriteLoyaltyCards( + static Future getFavouriteLoyaltyCards( String app_id, + BuildContext context, ) async { //print("Patien manager page: $endpoint"); final response = await http.get(Uri.parse( "${AppEnviroment.baseApiUrl}/mzasni-wallet/loyalty-cards/favourites/$app_id")); if (response.statusCode == 200) { Iterable l = jsonDecode(response.body); - List patientQueue = List.from( + List myCards = List.from( l.map((model) => MIHLoyaltyCard.fromJson(model))); - return patientQueue; - } else { - throw Exception('failed to fatch loyalty cards'); + context.read().setFavouriteCards(cards: myCards); } + // else { + // throw Exception('failed to fatch loyalty cards'); + // } } /// This function is used to Delete loyalty card from users mzansi wallet. @@ -80,6 +76,11 @@ class MIHMzansiWalletApis { //print("Here4"); //print(response.statusCode); context.pop(); + if (response.statusCode == 200) { + context + .read() + .deleteLoyaltyCard(cardId: idloyalty_cards); + } return response.statusCode; // if (response.statusCode == 200) { // Navigator.of(context).pop(); @@ -165,6 +166,7 @@ class MIHMzansiWalletApis { static Future updateLoyaltyCardAPICall( AppUser signedInUser, int idloyalty_cards, + String shopName, String favourite, int priority_index, String nickname, @@ -187,6 +189,19 @@ class MIHMzansiWalletApis { }), ); context.pop(); + if (response.statusCode == 200) { + context.read().editLoyaltyCard( + updatedCard: MIHLoyaltyCard( + idloyalty_cards: idloyalty_cards, + app_id: signedInUser.app_id, + shop_name: shopName, + card_number: card_number, + favourite: favourite, + priority_index: priority_index, + nickname: nickname, + ), + ); + } return response.statusCode; }