update Mzansi Wallet nav

This commit is contained in:
2025-08-18 15:02:52 +02:00
parent af54224484
commit e58eeab4ea
6 changed files with 225 additions and 101 deletions

View File

@@ -1,6 +1,8 @@
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_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';
@@ -73,9 +75,9 @@ class _MihCardsState extends State<MihCards> {
}
void openscanner() async {
Navigator.of(context).pushNamed(
'/scanner',
arguments: cardNumberController,
context.pushNamed(
"barcodeScanner",
extra: cardNumberController,
);
}
@@ -87,6 +89,71 @@ class _MihCardsState extends State<MihCards> {
}
}
void successPopUp(String title, String message, int packageIndex) {
showDialog(
context: context,
builder: (context) {
return MihPackageAlert(
alertIcon: Icon(
Icons.check_circle_outline_rounded,
size: 150,
color: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
),
alertTitle: title,
alertBody: Column(
children: [
Text(
message,
style: TextStyle(
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
fontSize: 15,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 25),
Center(
child: MihButton(
onPressed: () {
context.pop();
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
elevation: 10,
width: 300,
child: Text(
"Dismiss",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
)
],
),
alertColour: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
);
},
);
}
void internetConnectionPopUp() {
showDialog(
context: context,
builder: (context) {
return const MIHErrorMessage(
errorType: "Internet Connection",
);
},
);
}
void addCardWindow(BuildContext ctxt, double width) {
showDialog(
context: context,
@@ -246,7 +313,7 @@ class _MihCardsState extends State<MihCards> {
const SizedBox(height: 15),
Center(
child: MihButton(
onPressed: () {
onPressed: () async {
if (_formKey.currentState!.validate()) {
if (shopController.text == "") {
showDialog(
@@ -257,7 +324,8 @@ class _MihCardsState extends State<MihCards> {
},
);
} else {
MIHMzansiWalletApis.addLoyaltyCardAPICall(
int statusCode =
await MIHMzansiWalletApis.addLoyaltyCardAPICall(
widget.signedInUser,
widget.signedInUser.app_id,
shopController.text,
@@ -265,9 +333,22 @@ class _MihCardsState extends State<MihCards> {
"",
0,
_nicknameController.text,
0,
context,
);
if (statusCode == 201) {
setState(() {
cardList = MIHMzansiWalletApis.getLoyaltyCards(
widget.signedInUser.app_id);
});
context.pop();
successPopUp(
"Successfully Added Card",
"The loyalty card has been added to your favourites.",
0,
);
} else {
internetConnectionPopUp();
}
}
} else {
MihAlertServices().formNotFilledCompletely(context);