From 774ac4be7452dfe1f095fb3c8537b2c9fb3129d0 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Mon, 8 Sep 2025 11:21:14 +0200 Subject: [PATCH] update Mzansi profile nav pt2 --- Frontend/lib/mih_config/mih_go_router.dart | 36 ++-- .../lib/mih_config/mih_routeGenerator.dart | 2 +- .../builders/build_employee_list.dart | 155 ++++++++++++------ .../builders/build_user_list.dart | 141 +++++++++++----- .../mzansi_setup_business_profile_tile.dart | 11 +- .../package_tools/mih_my_business_user.dart | 101 +++++++++--- .../profile_business_add.dart | 79 +++++++-- 7 files changed, 379 insertions(+), 146 deletions(-) diff --git a/Frontend/lib/mih_config/mih_go_router.dart b/Frontend/lib/mih_config/mih_go_router.dart index 560356cf..192c4aad 100644 --- a/Frontend/lib/mih_config/mih_go_router.dart +++ b/Frontend/lib/mih_config/mih_go_router.dart @@ -15,6 +15,7 @@ import 'package:mzansi_innovation_hub/mih_packages/mzansi_ai/mzansi_ai.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_directory/mzansi_directory.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/mzansi_business_profile.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/mzansi_business_profile_view.dart'; +import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/profile_business_add.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/personal_profile/mzansi_profile.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/personal_profile/mzansi_profile_view.dart'; import 'package:ken_logger/ken_logger.dart'; @@ -84,21 +85,6 @@ class MihGoRouter { return null; // Stay on current route }, routes: [ - // External Routes - use `GoRoute` with `path` and `builder` - // GoRoute( - // name: "privacyPolicyExternal", - // path: MihGoRouterPaths.privacyPolicyExternal, - // builder: (BuildContext context, GoRouterState state) => - // const MIHPrivacyPolocyExternal(), - // ), - // GoRoute( - // name: "termsOfServiceExternal", - // path: MihGoRouterPaths.termsOfServiceExternal, - // builder: (BuildContext context, GoRouterState state) => - // const MIHTermsOfServiceExternal(), - // ), - - // Internal Routes - handle arguments via `extra` or path parameters // ========================== MIH Auth ================================== GoRoute( name: "mihAuthentication", @@ -141,10 +127,12 @@ class MihGoRouter { if (state.extra != null) { final bool personalSelected = state.extra as bool; return MihHome( + key: UniqueKey(), personalSelected: personalSelected, ); } return MihHome( + key: UniqueKey(), personalSelected: true, ); }, @@ -233,6 +221,15 @@ class MihGoRouter { ); }, ), + GoRoute( + name: "businessProfileSetup", + path: MihGoRouterPaths.businessProfileSetup, + builder: (BuildContext context, GoRouterState state) { + KenLogger.success("MihGoRouter: businessProfileSetup"); + final AppUser? signedInUser = state.extra as AppUser?; + return ProfileBusinessAdd(signedInUser: signedInUser!); + }, + ), // ========================== MIH Calculator ================================== GoRoute( name: "mihCalculator", @@ -405,15 +402,6 @@ class MihGoRouter { }, ), // ========================== End ================================== - // GoRoute( - // name: "businessProfileSetup", - // path: MihGoRouterPaths.businessProfileSetup, - // builder: (BuildContext context, GoRouterState state) { - // KenLogger.success("MihGoRouter: businessProfileSetup"); - // final AppUser? signedInUser = state.extra as AppUser?; - // return ProfileBusinessAdd(signedInUser: signedInUser!); - // }, - // ), // GoRoute( // name: "mihAuthentication", // path: MihGoRouterPaths.mihAuthentication, diff --git a/Frontend/lib/mih_config/mih_routeGenerator.dart b/Frontend/lib/mih_config/mih_routeGenerator.dart index 04104468..b785896b 100644 --- a/Frontend/lib/mih_config/mih_routeGenerator.dart +++ b/Frontend/lib/mih_config/mih_routeGenerator.dart @@ -10,7 +10,7 @@ import 'package:mzansi_innovation_hub/mih_packages/about_mih/mih_policy_tos_ext/ import 'package:mzansi_innovation_hub/mih_packages/access_review/mih_access.dart'; import 'package:mzansi_innovation_hub/mih_packages/authentication/auth_check.dart'; import 'package:mzansi_innovation_hub/mih_packages/authentication/forgot_password.dart'; -import 'package:mzansi_innovation_hub/mih_packages/authentication/reset_password.dart'; +// import 'package:mzansi_innovation_hub/mih_packages/authentication/reset_password.dart'; import 'package:mzansi_innovation_hub/mih_packages/calculator/mih_calculator.dart'; import 'package:mzansi_innovation_hub/mih_packages/calendar/mzansi_calendar.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_authentication/mih_authentication.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_employee_list.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_employee_list.dart index faabea5b..edc2b570 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_employee_list.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_employee_list.dart @@ -1,7 +1,9 @@ import 'dart:convert'; 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_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_validation_services.dart'; @@ -13,7 +15,6 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.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_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_env.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/business_employee.dart'; @@ -64,20 +65,20 @@ class _BuildEmployeeListState extends State { }), ); if (response.statusCode == 200) { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pop(); - //setState(() {}); - Navigator.of(context).pushNamed( - '/business-profile/manage', - arguments: BusinessArguments( - widget.arguments.signedInUser, - widget.arguments.businessUser, - widget.arguments.business, - ), - ); + // Navigator.of(context).pop(); + // Navigator.of(context).pop(); + // Navigator.of(context).pop(); + // //setState(() {}); + // Navigator.of(context).pushNamed( + // '/business-profile/manage', + // arguments: BusinessArguments( + // widget.arguments.signedInUser, + // widget.arguments.businessUser, + // widget.arguments.business, + // ), + // ); String message = "Your employees details have been updated."; - successPopUp(message); + successPopUp(message, false); } else { internetConnectionPopUp(); } @@ -97,25 +98,86 @@ class _BuildEmployeeListState extends State { //print("Here4"); //print(response.statusCode); if (response.statusCode == 200) { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pushNamed( - '/business-profile/manage', - arguments: BusinessArguments( - widget.arguments.signedInUser, - widget.arguments.businessUser, - widget.arguments.business, - ), - ); + // Navigator.of(context).pop(); + // Navigator.of(context).pop(); + // Navigator.of(context).pop(); + // Navigator.of(context).pushNamed( + // '/business-profile/manage', + // arguments: BusinessArguments( + // widget.arguments.signedInUser, + // widget.arguments.businessUser, + // widget.arguments.business, + // ), + // ); String message = "The employee has been deleted successfully. This means they will no longer have access to your business profile"; - successPopUp(message); + successPopUp(message, false); } else { internetConnectionPopUp(); } } + void successPopUp(String message, bool stayOnPersonalSide) { + 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: "Successfully Updated Profile", + 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.goNamed( + 'mihHome', + extra: stayOnPersonalSide, + ); + }, + 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"), + ); + // return MIHSuccessMessage( + // successType: "Success", + // successMessage: message, + // ); + }, + ); + } + void internetConnectionPopUp() { showDialog( context: context, @@ -125,18 +187,6 @@ class _BuildEmployeeListState extends State { ); } - void successPopUp(String message) { - showDialog( - context: context, - builder: (context) { - return MIHSuccessMessage( - successType: "Success", - successMessage: message, - ); - }, - ); - } - bool isRequiredFieldsCaptured() { if (accessController.text.isEmpty || typeController.text.isEmpty) { return false; @@ -216,18 +266,29 @@ class _BuildEmployeeListState extends State { readOnly: true, hintText: "Surname", ), - const SizedBox(height: 15.0), - MihDropdownField( + const SizedBox(height: 10.0), + MihTextFormField( + fillColor: MihColors.getSecondaryColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + inputColor: MihColors.getPrimaryColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), controller: typeController, - hintText: "Title", - dropdownOptions: const ["Doctor", "Assistant", "Other"], - editable: true, - enableSearch: true, - validator: (value) { - return MihValidationServices().isEmpty(value); - }, + multiLineInput: false, requiredText: true, + readOnly: true, + hintText: "Title", ), + // MihDropdownField( + // controller: typeController, + // hintText: "Title", + // dropdownOptions: const ["Doctor", "Assistant", "Other"], + // editable: true, + // enableSearch: true, + // validator: (value) { + // return MihValidationServices().isEmpty(value); + // }, + // requiredText: true, + // ), const SizedBox(height: 10.0), MihDropdownField( controller: accessController, diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_user_list.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_user_list.dart index 80f27543..c1c6e870 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_user_list.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/builders/build_user_list.dart @@ -1,6 +1,8 @@ import 'dart:convert'; +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_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_validation_services.dart'; @@ -11,7 +13,6 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_ 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_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_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_env.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; @@ -58,32 +59,93 @@ class _BuildUserListState extends State { "app_id": widget.users[index].app_id, "signature": "", "sig_path": "", - "title": typeController.text, + "title": "", "access": accessController.text, }), ); if (response.statusCode == 201) { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pushNamed( - '/business-profile/manage', - arguments: BusinessArguments( - widget.arguments.signedInUser, - widget.arguments.businessUser, - widget.arguments.business, - ), - ); + // Navigator.of(context).pop(); + // Navigator.of(context).pop(); + // Navigator.of(context).pop(); + // Navigator.of(context).pushNamed( + // '/business-profile/manage', + // arguments: BusinessArguments( + // widget.arguments.signedInUser, + // widget.arguments.businessUser, + // widget.arguments.business, + // ), + // ); String message = "${widget.users[index].username} is now apart of your team with ${accessController.text} access to ${widget.arguments.business!.Name}"; - successPopUp(message); + successPopUp(message, false); } else { internetConnectionPopUp(); } } + void successPopUp(String message, bool stayOnPersonalSide) { + 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: "Successfully Updated Profile", + 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.goNamed( + 'mihHome', + extra: stayOnPersonalSide, + ); + }, + 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"), + ); + // return MIHSuccessMessage( + // successType: "Success", + // successMessage: message, + // ); + }, + ); + } + bool isRequiredFieldsCaptured() { - if (accessController.text.isEmpty || typeController.text.isEmpty) { + if (accessController.text.isEmpty) { return false; } else { return true; @@ -99,18 +161,6 @@ class _BuildUserListState extends State { ); } - void successPopUp(String message) { - showDialog( - context: context, - builder: (context) { - return MIHSuccessMessage( - successType: "Success", - successMessage: message, - ); - }, - ); - } - String hideEmail(String email) { var firstLetter = email[0]; var end = email.split("@")[1]; @@ -169,19 +219,32 @@ class _BuildUserListState extends State { readOnly: true, hintText: "Email", ), - const SizedBox(height: 15.0), - MihDropdownField( - controller: typeController, - hintText: "Title", - dropdownOptions: const ["Doctor", "Assistant", "Other"], - editable: true, - enableSearch: true, - validator: (value) { - return MihValidationServices().isEmpty(value); - }, - requiredText: true, - ), const SizedBox(height: 10.0), + // MihTextFormField( + // fillColor: MihColors.getSecondaryColor( + // MzansiInnovationHub.of(context)!.theme.mode == + // "Dark"), + // inputColor: MihColors.getPrimaryColor( + // MzansiInnovationHub.of(context)!.theme.mode == + // "Dark"), + // controller: typeController, + // multiLineInput: false, + // requiredText: true, + // readOnly: true, + // hintText: "Title", + // ), + // MihDropdownField( + // controller: typeController, + // hintText: "Title", + // dropdownOptions: const ["Doctor", "Assistant", "Other"], + // editable: true, + // enableSearch: true, + // validator: (value) { + // return MihValidationServices().isEmpty(value); + // }, + // requiredText: true, + // ), + // const SizedBox(height: 10.0), MihDropdownField( controller: accessController, hintText: "Access Type", diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_setup_business_profile_tile.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_setup_business_profile_tile.dart index 68ab758d..268cea2a 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_setup_business_profile_tile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_setup_business_profile_tile.dart @@ -1,3 +1,4 @@ +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_package_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; @@ -25,10 +26,14 @@ class _MzansiSetupBusinessProfileTileState Widget build(BuildContext context) { return MihPackageTile( onTap: () { - Navigator.of(context).pushNamed( - '/business-profile/set-up', - arguments: widget.signedInUser, + context.goNamed( + 'businessProfileSetup', + extra: widget.signedInUser, ); + // Navigator.of(context).pushNamed( + // '/business-profile/set-up', + // arguments: widget.signedInUser, + // ); }, appName: "Set Up Business", appIcon: Icon( diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_user.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_user.dart index 084014a2..45e87a65 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_user.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_user.dart @@ -1,5 +1,6 @@ import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; @@ -15,7 +16,6 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_image_display.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_error_message.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_env.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; @@ -100,25 +100,27 @@ class _MihMyBusinessUserState extends State { if (statusCode == 200) { bool successfullyUploadedFile = await uploadFile(); if (successfullyUploadedFile) { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - Navigator.of(context).pushNamed( - '/', - arguments: AuthArguments( - false, - false, - ), - ); + // Navigator.of(context).pop(); + // Navigator.of(context).pop(); + // Navigator.of(context).pushNamed( + // '/', + // arguments: AuthArguments( + // false, + // false, + // ), + // ); // File uploaded successfully - showDialog( - context: context, - builder: (context) { - return const MIHSuccessMessage( - successType: "Success", - successMessage: "Business details updated successfully", - ); - }, - ); + String message = "Business details updated successfully"; + successPopUp(message, false); + // showDialog( + // context: context, + // builder: (context) { + // return const MIHSuccessMessage( + // successType: "Success", + // successMessage: "Business details updated successfully", + // ); + // }, + // ); } else { // File upload failed showDialog( @@ -167,6 +169,67 @@ class _MihMyBusinessUserState extends State { } } + void successPopUp(String message, bool stayOnPersonalSide) { + 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: "Successfully Updated Profile", + 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.goNamed( + 'mihHome', + extra: stayOnPersonalSide, + ); + }, + 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"), + ); + // return MIHSuccessMessage( + // successType: "Success", + // successMessage: message, + // ); + }, + ); + } + @override void dispose() { super.dispose(); diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/profile_business_add.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/profile_business_add.dart index c8ad97fa..5362dde8 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/profile_business_add.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/profile_business_add.dart @@ -1,8 +1,10 @@ import 'dart:convert'; import 'package:country_code_picker/country_code_picker.dart'; +import 'package:go_router/go_router.dart'; import 'package:http/http.dart'; import 'package:mzansi_innovation_hub/main.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; @@ -19,10 +21,8 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_form.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_error_message.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_env.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:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:file_picker/file_picker.dart'; @@ -103,14 +103,14 @@ class _ProfileBusinessAddState extends State { ); print("Status code: $statusCode"); if (statusCode == 201) { - Navigator.of(context).pop(); - Navigator.of(context).popAndPushNamed( - '/', - arguments: AuthArguments(false, false), - ); + // Navigator.of(context).pop(); + // Navigator.of(context).popAndPushNamed( + // '/', + // arguments: AuthArguments(false, false), + // ); String message = "Your business profile is now live! You can now start connecting with customers and growing your business."; - successPopUp(message); + successPopUp(message, false); } else { internetConnectionPopUp(); } @@ -166,14 +166,63 @@ class _ProfileBusinessAddState extends State { ); } - void successPopUp(String message) { + void successPopUp(String message, bool stayOnPersonalSide) { showDialog( context: context, builder: (context) { - return MIHSuccessMessage( - successType: "Success", - successMessage: message, + return MihPackageAlert( + alertIcon: Icon( + Icons.check_circle_outline_rounded, + size: 150, + color: MihColors.getGreenColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ), + alertTitle: "Successfully Updated Profile", + 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.goNamed( + 'mihHome', + extra: stayOnPersonalSide, + ); + }, + 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"), ); + // return MIHSuccessMessage( + // successType: "Success", + // successMessage: message, + // ); }, ); } @@ -236,7 +285,11 @@ class _ProfileBusinessAddState extends State { icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { - Navigator.of(context).pop(); + // Navigator.of(context).pop(); + context.goNamed( + 'mihHome', + extra: true, + ); }, ); }