diff --git a/Frontend/lib/mih_apis/mih_user_apis.dart b/Frontend/lib/mih_apis/mih_user_apis.dart new file mode 100644 index 00000000..87429c3a --- /dev/null +++ b/Frontend/lib/mih_apis/mih_user_apis.dart @@ -0,0 +1,100 @@ +import 'dart:convert'; + +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_env/env.dart'; +import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; +import 'package:flutter/material.dart'; +import 'package:supertokens_flutter/http.dart' as http; +import 'package:supertokens_flutter/supertokens.dart'; + +class MihUserApis { + final baseAPI = AppEnviroment.baseApiUrl; + + static Future deleteAccount( + String app_id, + BuildContext context, + ) async { + loadingPopUp(context); + var response = await http.delete( + Uri.parse("${AppEnviroment.baseApiUrl}/user/delete/all/"), + headers: { + "Content-Type": "application/json; charset=UTF-8" + }, + body: jsonEncode({ + "app_id": app_id, + "env": AppEnviroment.getEnv(), + }), + ); + + if (response.statusCode == 200) { + await SuperTokens.signOut(completionHandler: (error) { + print(error); + }); + if (await SuperTokens.doesSessionExist() == false) { + Navigator.of(context).pop(); // Pop loading dialog + Navigator.of(context).pop(); // Pop delete account dialog + Navigator.of(context).pop(); // Pop Mzansi Profile + Navigator.of(context).popAndPushNamed( + '/', + arguments: AuthArguments(true, false), + ); //Pop and push to login page + successPopUp( + "Account Deleted Successfully", + context, + ); // Show success message. + } + } else { + Navigator.of(context).pop(); // Pop loading dialog + internetConnectionPopUp(context); + } + } + + // Future signOut() async { + // await SuperTokens.signOut(completionHandler: (error) { + // print(error); + // }); + // if (await SuperTokens.doesSessionExist() == false) { + // Navigator.of(context).pop(); + // Navigator.of(context).popAndPushNamed( + // '/', + // arguments: AuthArguments(true, false), + // ); + // } + // } + +//================== POP UPS ========================================================================== + + static void internetConnectionPopUp(BuildContext context) { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage( + errorType: "Internet Connection", + ); + }, + ); + } + + static void successPopUp(String message, BuildContext context) { + showDialog( + context: context, + builder: (context) { + return MIHSuccessMessage( + successType: "Success", + successMessage: message, + ); + }, + ); + } + + static void loadingPopUp(BuildContext context) { + showDialog( + context: context, + builder: (context) { + return const Mihloadingcircle(); + }, + ); + } +} diff --git a/Frontend/lib/mih_components/mih_package/mih-app_tool_body.dart b/Frontend/lib/mih_components/mih_package_components/mih-app_tool_body.dart similarity index 100% rename from Frontend/lib/mih_components/mih_package/mih-app_tool_body.dart rename to Frontend/lib/mih_components/mih_package_components/mih-app_tool_body.dart diff --git a/Frontend/lib/mih_components/mih_package/mih_app.dart b/Frontend/lib/mih_components/mih_package_components/mih_app.dart similarity index 99% rename from Frontend/lib/mih_components/mih_package/mih_app.dart rename to Frontend/lib/mih_components/mih_package_components/mih_app.dart index 22a1c945..9dd24e37 100644 --- a/Frontend/lib/mih_components/mih_package/mih_app.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_app.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/mih_packages/mih_home/components/mih_app_drawer.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:flutter/material.dart'; // import 'package:flutter_swipe_detector/flutter_swipe_detector.dart'; diff --git a/Frontend/lib/mih_components/mih_package/mih_app_action.dart b/Frontend/lib/mih_components/mih_package_components/mih_app_action.dart similarity index 100% rename from Frontend/lib/mih_components/mih_package/mih_app_action.dart rename to Frontend/lib/mih_components/mih_package_components/mih_app_action.dart diff --git a/Frontend/lib/mih_components/mih_package/mih_app_alert.dart b/Frontend/lib/mih_components/mih_package_components/mih_app_alert.dart similarity index 97% rename from Frontend/lib/mih_components/mih_package/mih_app_alert.dart rename to Frontend/lib/mih_components/mih_package_components/mih_app_alert.dart index 8db477c4..0a954134 100644 --- a/Frontend/lib/mih_components/mih_package/mih_app_alert.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_app_alert.dart @@ -101,7 +101,7 @@ class _MihAppAlertState extends State { }, icon: Icon( Icons.close, - color: widget.alertColour, + color: MzanziInnovationHub.of(context)!.theme.errorColor(), size: 35, ), ), diff --git a/Frontend/lib/mih_components/mih_package/mih_app_tile.dart b/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart similarity index 84% rename from Frontend/lib/mih_components/mih_package/mih_app_tile.dart rename to Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart index a84c9b88..c3ffe146 100644 --- a/Frontend/lib/mih_components/mih_package/mih_app_tile.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_window.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_window.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_yt_video_player.dart'; import 'package:flutter/material.dart'; @@ -98,22 +98,19 @@ class _MihAppTileState extends State { const SizedBox(height: 10), Flexible( flex: 1, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - widget.appName, - textAlign: TextAlign.center, - // softWrap: true, - // overflow: TextOverflow.visible, - style: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - fontSize: 20.0, - fontWeight: FontWeight.bold, - ), + child: FittedBox( + child: Text( + widget.appName, + textAlign: TextAlign.center, + // softWrap: true, + // overflow: TextOverflow.visible, + style: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + fontSize: 20.0, + fontWeight: FontWeight.bold, ), - ], + ), ), ) ], diff --git a/Frontend/lib/mih_components/mih_package/mih_app_tools.dart b/Frontend/lib/mih_components/mih_package_components/mih_app_tools.dart similarity index 100% rename from Frontend/lib/mih_components/mih_package/mih_app_tools.dart rename to Frontend/lib/mih_components/mih_package_components/mih_app_tools.dart diff --git a/Frontend/lib/mih_components/mih_package/mih_app_window.dart b/Frontend/lib/mih_components/mih_package_components/mih_app_window.dart similarity index 100% rename from Frontend/lib/mih_components/mih_package/mih_app_window.dart rename to Frontend/lib/mih_components/mih_package_components/mih_app_window.dart diff --git a/Frontend/lib/mih_components/mih_package/test/package_test.dart b/Frontend/lib/mih_components/mih_package_components/test/package_test.dart similarity index 97% rename from Frontend/lib/mih_components/mih_package/test/package_test.dart rename to Frontend/lib/mih_components/mih_package_components/test/package_test.dart index 93a646b7..a1ef5ed0 100644 --- a/Frontend/lib/mih_components/mih_package/test/package_test.dart +++ b/Frontend/lib/mih_components/mih_package_components/test/package_test.dart @@ -1,12 +1,12 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_alert.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_window.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_alert.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_window.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/about_mih/about_mih.dart b/Frontend/lib/mih_packages/about_mih/about_mih.dart index 33917c6b..37a524fa 100644 --- a/Frontend/lib/mih_packages/about_mih/about_mih.dart +++ b/Frontend/lib/mih_packages/about_mih/about_mih.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tools/mih_info.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tools/mih_privacy_policy.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tools/mih_terms_of_service.dart'; diff --git a/Frontend/lib/mih_packages/about_mih/package_tile/about_mih_tile.dart b/Frontend/lib/mih_packages/about_mih/package_tile/about_mih_tile.dart index 8923ba5d..1220d457 100644 --- a/Frontend/lib/mih_packages/about_mih/package_tile/about_mih_tile.dart +++ b/Frontend/lib/mih_packages/about_mih/package_tile/about_mih_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; diff --git a/Frontend/lib/mih_packages/about_mih/package_tools/mih_info.dart b/Frontend/lib/mih_packages/about_mih/package_tools/mih_info.dart index caf9142c..470c5b76 100644 --- a/Frontend/lib/mih_packages/about_mih/package_tools/mih_info.dart +++ b/Frontend/lib/mih_packages/about_mih/package_tools/mih_info.dart @@ -2,8 +2,8 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_tile.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_window.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_window.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; diff --git a/Frontend/lib/mih_packages/about_mih/package_tools/mih_privacy_policy.dart b/Frontend/lib/mih_packages/about_mih/package_tools/mih_privacy_policy.dart index c00f1385..5b30c481 100644 --- a/Frontend/lib/mih_packages/about_mih/package_tools/mih_privacy_policy.dart +++ b/Frontend/lib/mih_packages/about_mih/package_tools/mih_privacy_policy.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/about_mih/package_tools/mih_terms_of_service.dart b/Frontend/lib/mih_packages/about_mih/package_tools/mih_terms_of_service.dart index 0b816977..e1ac8fd4 100644 --- a/Frontend/lib/mih_packages/about_mih/package_tools/mih_terms_of_service.dart +++ b/Frontend/lib/mih_packages/about_mih/package_tools/mih_terms_of_service.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/access_review/mih_access.dart b/Frontend/lib/mih_packages/access_review/mih_access.dart index 5ebdd805..b0d9e263 100644 --- a/Frontend/lib/mih_packages/access_review/mih_access.dart +++ b/Frontend/lib/mih_packages/access_review/mih_access.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/access_review/package_tools/mih_access_requests.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/access_review/package_tile/mih_access_tile.dart b/Frontend/lib/mih_packages/access_review/package_tile/mih_access_tile.dart index 9117d181..177aa73e 100644 --- a/Frontend/lib/mih_packages/access_review/package_tile/mih_access_tile.dart +++ b/Frontend/lib/mih_packages/access_review/package_tile/mih_access_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart b/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart index cb1b1171..eae23f6d 100644 --- a/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart +++ b/Frontend/lib/mih_packages/access_review/package_tools/mih_access_requests.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; import '../../../main.dart'; diff --git a/Frontend/lib/mih_packages/calculator/mih_calculator.dart b/Frontend/lib/mih_packages/calculator/mih_calculator.dart index a660ed5e..1fd34ef0 100644 --- a/Frontend/lib/mih_packages/calculator/mih_calculator.dart +++ b/Frontend/lib/mih_packages/calculator/mih_calculator.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.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'; diff --git a/Frontend/lib/mih_packages/calculator/package_tiles/mih_calculator_tile.dart b/Frontend/lib/mih_packages/calculator/package_tiles/mih_calculator_tile.dart index 27c972ab..bde3e773 100644 --- a/Frontend/lib/mih_packages/calculator/package_tiles/mih_calculator_tile.dart +++ b/Frontend/lib/mih_packages/calculator/package_tiles/mih_calculator_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:flutter/material.dart'; class MihCalculatorTile extends StatefulWidget { diff --git a/Frontend/lib/mih_packages/calculator/package_tools/simple_calc.dart b/Frontend/lib/mih_packages/calculator/package_tools/simple_calc.dart index 32e12b9e..ce58d6cb 100644 --- a/Frontend/lib/mih_packages/calculator/package_tools/simple_calc.dart +++ b/Frontend/lib/mih_packages/calculator/package_tools/simple_calc.dart @@ -1,7 +1,7 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:flutter/material.dart'; import 'package:math_expressions/math_expressions.dart'; diff --git a/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart b/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart index 30ec2eb3..3b448592 100644 --- a/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart +++ b/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart @@ -4,7 +4,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_number_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_window.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; diff --git a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart index 570e3acb..13feb07e 100644 --- a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart +++ b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/package_tools/appointments.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/calendar/package_tiles/mzansi_calendar_tile.dart b/Frontend/lib/mih_packages/calendar/package_tiles/mzansi_calendar_tile.dart index 905d230e..afabfff2 100644 --- a/Frontend/lib/mih_packages/calendar/package_tiles/mzansi_calendar_tile.dart +++ b/Frontend/lib/mih_packages/calendar/package_tiles/mzansi_calendar_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart b/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart index 5173669f..5312d197 100644 --- a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart +++ b/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart @@ -6,7 +6,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_window.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/appointment.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/business.dart'; diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart index 0eb27ca3..4d4174fb 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_profile_picture.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/business.dart'; diff --git a/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart b/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart index 6e6faafe..c534e749 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart @@ -1,9 +1,9 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mih_home/mih_home.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/mih_home/package_tools/mih_business_home.dart b/Frontend/lib/mih_packages/mih_home/package_tools/mih_business_home.dart index 30970b67..3b53c6ea 100644 --- a/Frontend/lib/mih_packages/mih_home/package_tools/mih_business_home.dart +++ b/Frontend/lib/mih_packages/mih_home/package_tools/mih_business_home.dart @@ -1,7 +1,7 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/business.dart'; diff --git a/Frontend/lib/mih_packages/mih_home/package_tools/mih_personal_home.dart b/Frontend/lib/mih_packages/mih_home/package_tools/mih_personal_home.dart index 58b10ce8..bb1c6222 100644 --- a/Frontend/lib/mih_packages/mih_home/package_tools/mih_personal_home.dart +++ b/Frontend/lib/mih_packages/mih_home/package_tools/mih_personal_home.dart @@ -1,7 +1,7 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/business.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart b/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart index 54272b97..5d4febae 100644 --- a/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart +++ b/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_ai/package_tools/ai_chat.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_ai/package_tiles/mzansi_ai_tile.dart b/Frontend/lib/mih_packages/mzansi_ai/package_tiles/mzansi_ai_tile.dart index 653a9ff0..fdd75468 100644 --- a/Frontend/lib/mih_packages/mzansi_ai/package_tiles/mzansi_ai_tile.dart +++ b/Frontend/lib/mih_packages/mzansi_ai/package_tiles/mzansi_ai_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_ai/package_tools/ai_chat.dart b/Frontend/lib/mih_packages/mzansi_ai/package_tools/ai_chat.dart index 20ca76ef..a909ad5b 100644 --- a/Frontend/lib/mih_packages/mzansi_ai/package_tools/ai_chat.dart +++ b/Frontend/lib/mih_packages/mzansi_ai/package_tools/ai_chat.dart @@ -4,8 +4,8 @@ import 'dart:convert'; import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_window.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_window.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:Mzansi_Innovation_Hub/mih_env/env.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile.dart index 2ca69748..965a93d3 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_profile.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_user_search.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_business_profile_tile.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_business_profile_tile.dart index b5118c00..2488c7b0 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_business_profile_tile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_business_profile_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; 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 cb0461a4..d13a9773 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,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_profile.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_profile.dart index c60c319d..cae7be34 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_profile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_profile.dart @@ -7,7 +7,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.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'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_user_search.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_user_search.dart index c8880353..30b41345 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_user_search.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_user_search.dart @@ -3,7 +3,7 @@ import 'dart:convert'; import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.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_env/env.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_team.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_team.dart index 7f903c92..0755a648 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_team.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_team.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:Mzansi_Innovation_Hub/mih_env/env.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile.dart b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile.dart index d6da3b6b..46122c5c 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile.dart @@ -1,8 +1,9 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_settings.dart'; import 'package:flutter/material.dart'; class MzansiProfile extends StatefulWidget { @@ -51,6 +52,11 @@ class _MzansiProfileState extends State { _selcetedIndex = 0; }); }; + temp[const Icon(Icons.settings)] = () { + setState(() { + _selcetedIndex = 1; + }); + }; return MihAppTools( tools: temp, selcetedIndex: _selcetedIndex, @@ -58,11 +64,13 @@ class _MzansiProfileState extends State { } List getToolBody() { - List toolBodies = [ - MihPersonalProfile( - arguments: widget.arguments, - ), - ]; + List toolBodies = []; + toolBodies.add(MihPersonalProfile( + arguments: widget.arguments, + )); + toolBodies.add(MihPersonalSettings( + signedInUser: widget.arguments.signedInUser, + )); return toolBodies; } } diff --git a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_profile_tile.dart b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_profile_tile.dart index e2ec4410..8e3540fd 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_profile_tile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_profile_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_setup_profile_tile.dart b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_setup_profile_tile.dart index 7f6f8a8d..f3600e21 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_setup_profile_tile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_setup_profile_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart index e963c1a2..bb88e689 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart @@ -5,7 +5,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.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'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_settings.dart b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_settings.dart new file mode 100644 index 00000000..a6d03ee1 --- /dev/null +++ b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_settings.dart @@ -0,0 +1,158 @@ +import 'package:Mzansi_Innovation_Hub/main.dart'; +import 'package:Mzansi_Innovation_Hub/mih_apis/mih_user_apis.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_alert.dart'; +import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; +import 'package:flutter/material.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; + +class MihPersonalSettings extends StatefulWidget { + final AppUser signedInUser; + const MihPersonalSettings({ + super.key, + required this.signedInUser, + }); + + @override + State createState() => _MihPersonalSettingsState(); +} + +class _MihPersonalSettingsState extends State { + @override + Widget build(BuildContext context) { + return MihAppToolBody(borderOn: true, bodyItem: getBody()); + } + + void deleteAccountPopUp(BuildContext ctxtd) { + showDialog( + context: context, + barrierDismissible: false, + builder: (context) { + return MihAppAlert( + alertIcon: Icon( + Icons.warning_amber_rounded, + size: 100, + color: MzanziInnovationHub.of(context)!.theme.errorColor(), + ), + alertTitle: + "Are you sure you want to permanently delete your MIH account?", + alertBody: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + "This action will remove all of your data, and it cannot be recovered. We understand this is a big decision, so please take a moment to double-check.\n\nIf you're certain, please confirm below. If you've changed your mind, you can simply close this window.", + style: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + fontSize: 15, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 15), + Wrap( + spacing: 10, + runSpacing: 10, + children: [ + SizedBox( + width: 300, + height: 50, + child: MIHButton( + onTap: () { + MihUserApis.deleteAccount( + widget.signedInUser.app_id, context); + }, + buttonText: "Delete", + buttonColor: + MzanziInnovationHub.of(context)!.theme.errorColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + ), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + onTap: () { + Navigator.pop(context); + }, + buttonText: "Cancel", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + ), + ], + ) + ], + ), + alertColour: MzanziInnovationHub.of(context)!.theme.errorColor(), + ); + }, + ); + } + + Widget getBody() { + return MihSingleChildScroll( + child: Column( + children: [ + Text( + "Account Settings", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.bold, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + Divider( + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + const SizedBox(height: 10.0), + Center( + child: FaIcon( + FontAwesomeIcons.trashCan, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + size: 150, + ), + ), + const SizedBox(height: 10.0), + Wrap( + spacing: 10, + runSpacing: 10, + alignment: WrapAlignment.center, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + Text( + "Would you like to delete your MIH account?", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + SizedBox( + width: 300.0, + height: 50.0, + child: MIHButton( + buttonText: "Delete Account", + buttonColor: + MzanziInnovationHub.of(context)!.theme.errorColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + deleteAccountPopUp(context); + }, + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart index 1359c10b..33ad6a9d 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_wallet/package_tools/mih_cards.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_wallet/package_tiles/mih_wallet_tile.dart b/Frontend/lib/mih_packages/mzansi_wallet/package_tiles/mih_wallet_tile.dart index 0e59f659..57e6ee8f 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/package_tiles/mih_wallet_tile.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/package_tiles/mih_wallet_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart index f5a57bdd..1a3b04ad 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_cards.dart @@ -6,7 +6,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_window.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.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_objects/app_user.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tiles/pat_manager_tile.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tiles/pat_manager_tile.dart index 7a718411..fb473435 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tiles/pat_manager_tile.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tiles/pat_manager_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/mih_patient_search.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/mih_patient_search.dart index 684d9181..843aac34 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/mih_patient_search.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/mih_patient_search.dart @@ -2,7 +2,7 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_apis/mih_api_calls.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:Mzansi_Innovation_Hub/mih_env/env.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/my_patient_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/my_patient_list.dart index 56904e1d..55fad46b 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/my_patient_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/my_patient_list.dart @@ -2,7 +2,7 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_apis/mih_api_calls.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:Mzansi_Innovation_Hub/mih_env/env.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/waiting_room.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/waiting_room.dart index 6675d2ac..4734ec22 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/waiting_room.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/package_tools/waiting_room.dart @@ -8,7 +8,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_window.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.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_env/env.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/pat_manager.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/pat_manager.dart index f9356471..00adabd1 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/pat_manager.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/pat_manager.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/package_tools/mih_patient_search.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/package_tools/my_patient_list.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tiles/patient_profile_tile.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tiles/patient_profile_tile.dart index b0662da7..2a1d8d22 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tiles/patient_profile_tile.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tiles/patient_profile_tile.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_claim_or_statement.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_claim_or_statement.dart index 6f96351a..8b18106b 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_claim_or_statement.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_claim_or_statement.dart @@ -1,6 +1,6 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_apis/mih_claim_statement_generation_api.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/business.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_consultation.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_consultation.dart index f3e0e8aa..357f853e 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_consultation.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_consultation.dart @@ -5,7 +5,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_window.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.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'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_documents.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_documents.dart index 34399c38..69f13227 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_documents.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_documents.dart @@ -6,7 +6,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_window.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.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'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_info.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_info.dart index d3b13c85..f500acd7 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_info.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/package_tools/patient_info.dart @@ -1,7 +1,7 @@ import 'package:Mzansi_Innovation_Hub/main.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_body.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/patients.dart'; diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/patient_profile.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/patient_profile.dart index e3a62d66..e6c792e0 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/patient_profile.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/patient_profile.dart @@ -1,6 +1,6 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_action.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/package_tools/patient_claim_or_statement.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/package_tools/patient_consultation.dart'; diff --git a/Frontend/lib/mih_router/routeGenerator.dart b/Frontend/lib/mih_router/routeGenerator.dart index 6ede9cbf..15667ea3 100644 --- a/Frontend/lib/mih_router/routeGenerator.dart +++ b/Frontend/lib/mih_router/routeGenerator.dart @@ -1,4 +1,4 @@ -import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/test/package_test.dart'; +import 'package:Mzansi_Innovation_Hub/mih_components/mih_package_components/test/package_test.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/about_mih.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/mih_policy_tos_ext/mih_privacy_polocy_external.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/mih_policy_tos_ext/mih_terms_of_service_external.dart'; diff --git a/Frontend/pubspec.lock b/Frontend/pubspec.lock index edcd8893..fd34c709 100644 --- a/Frontend/pubspec.lock +++ b/Frontend/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.11.0" barcode: dependency: transitive description: @@ -85,10 +85,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.1" buffer: dependency: transitive description: @@ -181,10 +181,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.3.0" charcode: dependency: transitive description: @@ -213,10 +213,10 @@ packages: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.1" code_builder: dependency: transitive description: @@ -229,10 +229,10 @@ packages: dependency: transitive description: name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.19.1" + version: "1.19.0" convert: dependency: transitive description: @@ -285,10 +285,10 @@ packages: dependency: transitive description: name: device_info_plus - sha256: "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513" + sha256: "72d146c6d7098689ff5c5f66bcf593ac11efc530095385356e131070333e64da" url: "https://pub.dev" source: hosted - version: "11.3.3" + version: "11.3.0" device_info_plus_platform_interface: dependency: transitive description: @@ -333,10 +333,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.1" fetch_api: dependency: transitive description: @@ -357,10 +357,10 @@ packages: dependency: transitive description: name: ffi - sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.3" file: dependency: transitive description: @@ -676,18 +676,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -764,10 +764,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: @@ -780,18 +780,18 @@ packages: dependency: "direct main" description: name: math_expressions - sha256: "218dc65bed4726562bb31c53d8daa3cc824664b26fb72d77bc592757edf74ba0" + sha256: e32d803d758ace61cc6c4bdfed1226ff60a6a23646b35685670d28b5616139f8 url: "https://pub.dev" source: hosted - version: "2.7.0" + version: "2.6.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.15.0" mime: dependency: transitive description: @@ -844,10 +844,10 @@ packages: dependency: transitive description: name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.9.0" path_parsing: dependency: transitive description: @@ -900,10 +900,10 @@ packages: dependency: transitive description: name: petitparser - sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.0.2" photo_view: dependency: transitive description: @@ -1089,10 +1089,10 @@ packages: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.10.1" + version: "1.10.0" sprintf: dependency: transitive description: @@ -1105,18 +1105,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.12.0" stream_channel: dependency: transitive description: name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -1129,10 +1129,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.3.0" supertokens_flutter: dependency: "direct main" description: @@ -1217,18 +1217,18 @@ packages: dependency: transitive description: name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 url: "https://pub.dev" source: hosted - version: "1.2.2" + version: "1.2.1" test_api: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.3" timing: dependency: transitive description: @@ -1361,10 +1361,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "14.3.0" watcher: dependency: transitive description: @@ -1433,18 +1433,18 @@ packages: dependency: transitive description: name: win32 - sha256: dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f + sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e url: "https://pub.dev" source: hosted - version: "5.12.0" + version: "5.10.1" win32_registry: dependency: transitive description: name: win32_registry - sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae" + sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "1.1.5" xdg_directories: dependency: transitive description: @@ -1486,5 +1486,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=3.7.0 <3.9.0" + dart: ">=3.6.0 <3.9.0" flutter: ">=3.27.0" diff --git a/backend/routers/users.py b/backend/routers/users.py index 545f0c0a..5a2b2927 100644 --- a/backend/routers/users.py +++ b/backend/routers/users.py @@ -5,9 +5,12 @@ import database #SuperToken Auth from front end from supertokens_python.recipe.session.framework.fastapi import verify_session from supertokens_python.recipe.session import SessionContainer +from supertokens_python.asyncio import delete_user + from fastapi import Depends import database.dbConnection +import Minio_Storage.minioConnection router = APIRouter() @@ -27,6 +30,10 @@ class userUpdateRequest(BaseModel): type: str pro_pic_path: str +class userDeleteRequest(BaseModel): + app_id: str + env: str + # #get user by email & doc Office ID # @router.get("/users/profile/{email}", tags="users") # async def read_all_users(email: str, session: SessionContainer = Depends(verify_session())): @@ -56,10 +63,13 @@ class userUpdateRequest(BaseModel): async def read_all_users(search: str, session: SessionContainer = Depends(verify_session())): #, session: SessionContainer = Depends(verify_session()) db = database.dbConnection.dbAppDataConnect() cursor = db.cursor() - query = "SELECT * FROM users " - query += "where email like lower('%%%s%%') " % search - query += "or username like lower('%%%s%%')" % search - cursor.execute(query) + query = "SELECT * FROM users WHERE LOWER(email) LIKE %s OR LOWER(username) LIKE %s" + search_term = f"%{search.lower()}%" # Add wildcards and lowercase + cursor.execute(query, (search_term, search_term)) + # query = "SELECT * FROM users " + # query += "where email like lower('%%%s%%') " % search + # query += "or username like lower('%%%s%%')" % search + # cursor.execute(query) items = [ { "idUser": item[0], @@ -144,4 +154,50 @@ async def Update_User_details(itemRequest : userUpdateRequest, session: SessionC db.commit() cursor.close() db.close() - return {"message": "Successfully Updated Record"} \ No newline at end of file + return {"message": "Successfully Updated Record"} + +# Get List of all files +@router.delete("/user/delete/all/", tags=["MIH Users"]) +async def delete_users_data_by_app_id(itemRequest: userDeleteRequest, session: SessionContainer = Depends(verify_session())): #, session: SessionContainer = Depends(verify_session()) + db = database.dbConnection.dbAllConnect() + cursor = db.cursor() + db.start_transaction() + try: + queries = [ + "DELETE FROM app_data.notifications where app_id = %s", + "DELETE FROM app_data.business_users where app_id = %s", + "DELETE FROM data_access.patient_business_access where app_id = %s", + "DELETE FROM mzansi_calendar.appointments where app_id = %s", + "DELETE FROM mzansi_wallet.loyalty_cards where app_id = %s", + "DELETE FROM patient_manager.patients where app_id = %s", + "DELETE FROM patient_manager.patient_notes where app_id = %s", + "DELETE FROM patient_manager.patient_files where app_id = %s", + "DELETE FROM patient_manager.claim_statement_file where app_id = %s", + "DELETE FROM app_data.users where app_id = %s", + ] + # Delete user from all tables + for query in queries: + cursor.execute(query, (itemRequest.app_id,)) + # Delete user files + try: + client = Minio_Storage.minioConnection.minioConnect(itemRequest.env) + objects_to_delete = client.list_objects("mih", prefix=itemRequest.app_id, recursive=True) + for obj in objects_to_delete: + client.remove_object("mih", obj.object_name) + except Exception as error: + raise HTTPException(status_code=500, detail="Failed to delete files from Minio - " + str(error)) + # Delete user from SuperTokens + try: + await delete_user(itemRequest.app_id) + except Exception as error: + raise HTTPException(status_code=500, detail="Failed to delete user from SuperTokens - " + str(error)) + db.commit() + except Exception as error: + db.rollback() + raise HTTPException(status_code=500, detail=str(error)) + finally: + if cursor: + cursor.close() + if db: + db.close() + return {"message": "Successfully Deleted User Account, Data & Files"}