NEW: MIH Banner Ads Provider Set Up

This commit is contained in:
2025-10-08 14:43:03 +02:00
parent 7373a1b8cb
commit a1b7a3ef28
10 changed files with 103 additions and 93 deletions

View File

@@ -2,10 +2,12 @@ import 'package:go_router/go_router.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
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_providers/mih_banner_ad_provider.dart';
import 'package:mzansi_innovation_hub/mih_packages/calculator/package_tools/currency_exchange_rate.dart';
import 'package:mzansi_innovation_hub/mih_packages/calculator/package_tools/simple_calc.dart';
import 'package:mzansi_innovation_hub/mih_packages/calculator/package_tools/tip_calc.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class MIHCalculator extends StatefulWidget {
final bool personalSelected;
@@ -21,6 +23,14 @@ class MIHCalculator extends StatefulWidget {
class _MIHCalculatorState extends State<MIHCalculator> {
int _selectedIndex = 0;
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) async {
context.read<MihBannerAdProvider>().loadBannerAd();
});
}
@override
Widget build(BuildContext context) {
return MihPackage(

View File

@@ -10,10 +10,12 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_
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_text_form_field.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/mih_banner_ad_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_currency_exchange_rate_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart';
import 'package:provider/provider.dart';
class CurrencyExchangeRate extends StatefulWidget {
const CurrencyExchangeRate({super.key});
@@ -29,7 +31,6 @@ class _CurrencyExchangeRateState extends State<CurrencyExchangeRate> {
final TextEditingController _fromAmountController = TextEditingController();
final TextEditingController _toAmountController = TextEditingController();
late Future<List<String>> availableCurrencies;
MihBannerAd _bannerAd = MihBannerAd();
Future<void> submitForm() async {
String fromCurrencyCode = _fromCurrencyController.text.split(" - ")[0];
@@ -67,9 +68,7 @@ class _CurrencyExchangeRateState extends State<CurrencyExchangeRate> {
fullscreen: false,
windowTitle: "Calculation Results",
onWindowTapClose: () {
setState(() {
_bannerAd = MihBannerAd();
});
context.read<MihBannerAdProvider>().loadBannerAd();
Navigator.pop(context);
},
windowBody: Column(
@@ -160,7 +159,9 @@ class _CurrencyExchangeRateState extends State<CurrencyExchangeRate> {
],
),
SizedBox(height: 10),
SizedBox(child: _bannerAd),
Consumer(builder: (context, bannerAdDisplay, child) {
return MihBannerAd();
}),
],
),
),

View File

@@ -1,5 +1,6 @@
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_providers/mih_banner_ad_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_validation_services.dart';
@@ -14,6 +15,7 @@ import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:math_expressions/math_expressions.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_toggle.dart';
import 'package:provider/provider.dart';
class TipCalc extends StatefulWidget {
const TipCalc({super.key});
@@ -30,7 +32,6 @@ class _TipCalcState extends State<TipCalc> {
final ValueNotifier<String> splitValue = ValueNotifier("");
late bool splitPosition;
final _formKey = GlobalKey<FormState>();
MihBannerAd _bannerAd = MihBannerAd();
String tip = "";
String total = "";
String amountPerPerson = "";
@@ -98,9 +99,7 @@ class _TipCalcState extends State<TipCalc> {
fullscreen: false,
windowTitle: "Calculation Results",
onWindowTapClose: () {
setState(() {
_bannerAd = MihBannerAd();
});
context.read<MihBannerAdProvider>().loadBannerAd();
Navigator.pop(context);
},
windowBody: Column(
@@ -231,7 +230,9 @@ class _TipCalcState extends State<TipCalc> {
),
),
SizedBox(height: 10),
SizedBox(child: _bannerAd),
Consumer(builder: (context, bannerAdDisplay, child) {
return MihBannerAd();
}),
// if (splitBillController.text == "Yes") const Divider(),
],
),

View File

@@ -6,6 +6,7 @@ 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_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/mih_banner_ad_provider.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';
@@ -29,10 +30,8 @@ class BuildLoyaltyCardList extends StatefulWidget {
final AppUser signedInUser;
final List<MIHLoyaltyCard> cardList;
final int navIndex;
final MihBannerAd? bannerAd;
final bool favouritesMode;
final TextEditingController searchText;
final void Function()? onCardViewClose;
const BuildLoyaltyCardList({
super.key,
@@ -41,8 +40,6 @@ class BuildLoyaltyCardList extends StatefulWidget {
required this.navIndex,
required this.favouritesMode,
required this.searchText,
this.bannerAd,
this.onCardViewClose,
});
@override
@@ -487,7 +484,7 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
),
],
onWindowTapClose: () {
widget.onCardViewClose;
context.read<MihBannerAdProvider>().loadBannerAd();
resetScreenBrightness();
context.pop();
},
@@ -549,7 +546,9 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
),
),
SizedBox(height: 10),
widget.bannerAd ?? SizedBox(),
Consumer(builder: (context, bannerAdDisplay, child) {
return MihBannerAd();
}),
// MihBannerAd(),
],
),

View File

@@ -4,6 +4,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_
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/mih_banner_ad_provider.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';
@@ -48,6 +49,7 @@ class _MihWalletState extends State<MihWallet> {
setPackageIndex();
await setLoyaltyCards();
await setFavouritesCards();
context.read<MihBannerAdProvider>().loadBannerAd();
setState(() {
isLoading = false;
});

View File

@@ -1,5 +1,4 @@
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_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';
@@ -21,7 +20,6 @@ class MihCardFavourites extends StatefulWidget {
class _MihCardFavouritesState extends State<MihCardFavourites> {
late Future<List<MIHLoyaltyCard>> cardList;
late MihBannerAd _bannerAd;
List<MIHLoyaltyCard> listOfCards = [];
void getFavouriteLoyaltyCards(BuildContext context) async {
@@ -32,7 +30,6 @@ class _MihCardFavouritesState extends State<MihCardFavourites> {
@override
void initState() {
_bannerAd = MihBannerAd();
getFavouriteLoyaltyCards(context);
super.initState();
}
@@ -55,15 +52,8 @@ class _MihCardFavouritesState extends State<MihCardFavourites> {
cardList: listOfCards,
signedInUser: widget.signedInUser,
navIndex: 0,
bannerAd: _bannerAd,
favouritesMode: true,
searchText: TextEditingController(),
onCardViewClose: () {
setState(() {
_bannerAd = MihBannerAd();
});
Navigator.pop(context);
},
),
],
),

View File

@@ -1,7 +1,6 @@
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
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';
@@ -33,7 +32,6 @@ class MihCards extends StatefulWidget {
class _MihCardsState extends State<MihCards> {
final TextEditingController cardSearchController = TextEditingController();
final FocusNode searchFocusNode = FocusNode();
MihBannerAd _bannerAd = MihBannerAd();
List<MIHLoyaltyCard> listOfCards = [];
final ValueNotifier<List<MIHLoyaltyCard>> searchShopName = ValueNotifier([]);
final MobileScannerController scannerController = MobileScannerController(
@@ -202,15 +200,8 @@ class _MihCardsState extends State<MihCards> {
cardList: filteredCards, //listOfCards,
signedInUser: widget.signedInUser,
navIndex: 0,
bannerAd: _bannerAd,
favouritesMode: false,
searchText: cardSearchController,
onCardViewClose: () {
setState(() {
_bannerAd = MihBannerAd();
});
// Navigator.pop(context);
},
);
});
},