From 656e1cd3d77c168d6927474191816136c9ba2ade Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Fri, 24 Oct 2025 12:59:11 +0200 Subject: [PATCH] QOL: reset providers on signout and signin --- .../package_tools/mih_register.dart | 2 + .../package_tools/mih_sign_in.dart | 2 + .../mih_home/components/mih_app_drawer.dart | 46 ++++++++++++++----- 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_register.dart b/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_register.dart index f97a0334..f16c6ef0 100644 --- a/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_register.dart +++ b/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_register.dart @@ -12,6 +12,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_ 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_providers/mih_authentication_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_profile_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_env.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; @@ -75,6 +76,7 @@ class _MihRegisterState extends State { } Future signUserUp() async { + context.read().reset(); if (!validEmail()) { emailError(); } else if (passwordController.text != confirmPasswordController.text) { diff --git a/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart b/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart index d21ee78c..68751125 100644 --- a/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart +++ b/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart @@ -10,6 +10,7 @@ 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_providers/mih_authentication_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_profile_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_env.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; @@ -39,6 +40,7 @@ class _MihSignInState extends State { //sign user in Future signUserIn() async { + context.read().reset(); try { successfulSignIn = await MihAuthenticationServices().signUserIn( emailController.text, diff --git a/Frontend/lib/mih_packages/mih_home/components/mih_app_drawer.dart b/Frontend/lib/mih_packages/mih_home/components/mih_app_drawer.dart index c74fe1c8..8dff220e 100644 --- a/Frontend/lib/mih_packages/mih_home/components/mih_app_drawer.dart +++ b/Frontend/lib/mih_packages/mih_home/components/mih_app_drawer.dart @@ -4,7 +4,17 @@ import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart' import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_providers/about_mih_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_access_controlls_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_authentication_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_banner_ad_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_calculator_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_calendar_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_mine_sweeper_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_ai_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_directory_provider.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_profile_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_providers/patient_manager_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:provider/provider.dart'; import '../../../main.dart'; @@ -22,6 +32,21 @@ class MIHAppDrawer extends StatefulWidget { class _MIHAppDrawerState extends State { final proPicController = TextEditingController(); late Widget profilePictureLoaded; + + void resetProviders() { + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + context.read().reset(); + } + Future signOut() async { await SuperTokens.signOut(completionHandler: (error) { // handle error if any @@ -107,7 +132,7 @@ class _MIHAppDrawerState extends State { Visibility( visible: !mzansiProfileProvider.personalHome, child: Text( - mzansiProfileProvider.business!.Name, + mzansiProfileProvider.business?.Name ?? "", style: TextStyle( fontWeight: FontWeight.bold, color: MihColors.getPrimaryColor( @@ -135,7 +160,7 @@ class _MIHAppDrawerState extends State { Visibility( visible: !mzansiProfileProvider.personalHome, child: Text( - mzansiProfileProvider.business!.type, + mzansiProfileProvider.business?.type ?? "", style: TextStyle( fontSize: 12, fontWeight: FontWeight.bold, @@ -321,16 +346,13 @@ class _MIHAppDrawerState extends State { }); if (await SuperTokens.doesSessionExist() == false) { - mzansiProfileProvider.reset(); - context.goNamed( - 'mihHome', - extra: true, - ); - // Navigator.of(context).pop(); - // Navigator.of(context).popAndPushNamed( - // '/', - // arguments: AuthArguments(true, false), - // ); + resetProviders(); + await Future.delayed(Duration.zero); + if (context.mounted) { + context.goNamed( + 'mihHome', + ); + } } }, ),