diff --git a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart index 91ffcd41..95f2b475 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart @@ -8,6 +8,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet 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:mzansi_innovation_hub/mih_services/mih_data_helper_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_wallet_services.dart'; import 'package:provider/provider.dart'; @@ -21,7 +22,24 @@ class MihWallet extends StatefulWidget { } class _MihWalletState extends State { - bool isLoading = true; + bool _isLoadingInitialData = true; + + Future _loadInitialData() async { + setState(() { + _isLoadingInitialData = true; + }); + MzansiProfileProvider mzansiProfileProvider = + context.read(); + MzansiWalletProvider walletProvider = context.read(); + await MihDataHelperServices().loadUserDataOnly( + mzansiProfileProvider, + ); + await setLoyaltyCards(mzansiProfileProvider, walletProvider); + await setFavouritesCards(mzansiProfileProvider, walletProvider); + setState(() { + _isLoadingInitialData = false; + }); + } Future setLoyaltyCards( MzansiProfileProvider mzansiProfileProvider, @@ -42,33 +60,31 @@ class _MihWalletState extends State { @override void initState() { super.initState(); - WidgetsBinding.instance.addPostFrameCallback((_) async { - MzansiProfileProvider mzansiProfileProvider = - context.read(); - MzansiWalletProvider walletProvider = - context.read(); - await setLoyaltyCards(mzansiProfileProvider, walletProvider); - await setFavouritesCards(mzansiProfileProvider, walletProvider); - setState(() { - isLoading = false; - }); - }); + _loadInitialData(); } @override Widget build(BuildContext context) { - return MihPackage( - appActionButton: getAction(), - appTools: getTools(), - appBody: getToolBody(), - appToolTitles: getToolTitle(), - selectedbodyIndex: context.watch().toolIndex, - onIndexChange: (newIndex) { - context.read().setToolIndex(newIndex); - // setState(() { - // _selcetedIndex = newValue; - // }); - // print("Index: $_selcetedIndex"); + return Consumer( + builder: (BuildContext context, MzansiWalletProvider walletProvider, + Widget? child) { + if (_isLoadingInitialData) { + return Scaffold( + body: Center( + child: Mihloadingcircle(), + ), + ); + } + return MihPackage( + appActionButton: getAction(), + appTools: getTools(), + appBody: getToolBody(), + appToolTitles: getToolTitle(), + selectedbodyIndex: walletProvider.toolIndex, + onIndexChange: (newIndex) { + walletProvider.setToolIndex(newIndex); + }, + ); }, ); } @@ -105,13 +121,6 @@ class _MihWalletState extends State { MihCards(), MihCardFavourites(), ]; - if (isLoading) { - return [ - const Center( - child: Mihloadingcircle(), - ) - ]; - } return toolBodies; }