From 72a995de764f1621fafd273cdc9e941007e644b1 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 12:12:05 +0200 Subject: [PATCH 01/15] Change App Action to Package Action --- .../mih_package_components/Example/package_test.dart | 6 +++--- .../{mih_app_action.dart => mih_package_action.dart} | 8 ++++---- Frontend/lib/mih_packages/about_mih/about_mih.dart | 6 +++--- Frontend/lib/mih_packages/access_review/mih_access.dart | 6 +++--- Frontend/lib/mih_packages/calculator/mih_calculator.dart | 6 +++--- Frontend/lib/mih_packages/calendar/mzansi_calendar.dart | 6 +++--- Frontend/lib/mih_packages/mih_home/mih_home.dart | 4 ++-- .../lib/mih_packages/mih_home/mih_profile_getter.dart | 4 ++-- Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart | 6 +++--- .../business_profile/mzansi_business_profile.dart | 6 +++--- .../mzansi_profile/personal_profile/mzansi_profile.dart | 6 +++--- Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart | 6 +++--- .../patient_profile/pat_manager/pat_manager.dart | 6 +++--- .../patient_profile/pat_profile/patient_profile.dart | 6 +++--- 14 files changed, 41 insertions(+), 41 deletions(-) rename Frontend/lib/mih_components/mih_package_components/{mih_app_action.dart => mih_package_action.dart} (73%) diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart index 474a33fb..a2ea1708 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart @@ -1,6 +1,6 @@ import 'package:mzansi_innovation_hub/main.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_package_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_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart'; @@ -18,8 +18,8 @@ class PackageTest extends StatefulWidget { class _PackageTestState extends State { int _selcetedIndex = 0; - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app_action.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_action.dart similarity index 73% rename from Frontend/lib/mih_components/mih_package_components/mih_app_action.dart rename to Frontend/lib/mih_components/mih_package_components/mih_package_action.dart index 154e0ae8..07db5d15 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app_action.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_action.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -class MihAppAction extends StatefulWidget { +class MihPackageAction extends StatefulWidget { final void Function()? onTap; final double iconSize; final Widget icon; - const MihAppAction({ + const MihPackageAction({ super.key, required this.icon, required this.iconSize, @@ -12,10 +12,10 @@ class MihAppAction extends StatefulWidget { }); @override - State createState() => _MihAppActionState(); + State createState() => _MihPackageActionState(); } -class _MihAppActionState extends State { +class _MihPackageActionState extends State { @override void dispose() { super.dispose(); diff --git a/Frontend/lib/mih_packages/about_mih/about_mih.dart b/Frontend/lib/mih_packages/about_mih/about_mih.dart index 5752eba4..b61b15e6 100644 --- a/Frontend/lib/mih_packages/about_mih/about_mih.dart +++ b/Frontend/lib/mih_packages/about_mih/about_mih.dart @@ -1,5 +1,5 @@ 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_package_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_%20attributes.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_info.dart'; @@ -45,8 +45,8 @@ class _AboutMihState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { diff --git a/Frontend/lib/mih_packages/access_review/mih_access.dart b/Frontend/lib/mih_packages/access_review/mih_access.dart index 0b77a6c6..6b6ebfa6 100644 --- a/Frontend/lib/mih_packages/access_review/mih_access.dart +++ b/Frontend/lib/mih_packages/access_review/mih_access.dart @@ -1,5 +1,5 @@ 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_package_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'; @@ -34,8 +34,8 @@ class _MihAccessState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { diff --git a/Frontend/lib/mih_packages/calculator/mih_calculator.dart b/Frontend/lib/mih_packages/calculator/mih_calculator.dart index d4b843e0..34f38236 100644 --- a/Frontend/lib/mih_packages/calculator/mih_calculator.dart +++ b/Frontend/lib/mih_packages/calculator/mih_calculator.dart @@ -1,5 +1,5 @@ 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_package_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'; @@ -35,8 +35,8 @@ class _MIHCalculatorState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { diff --git a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart index e175f310..6d06ce84 100644 --- a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart +++ b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart @@ -1,5 +1,5 @@ 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_package_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'; @@ -35,8 +35,8 @@ class _MzansiCalendarState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart index 003b6b02..607d5e5e 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/main.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_package_action.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_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; @@ -98,7 +98,7 @@ class _MihHomeState extends State { Widget getAction() { return Builder(builder: (context) { - return MihAppAction( + return MihPackageAction( icon: Padding( padding: const EdgeInsets.only(left: 5.0), child: MihCircleAvatar( 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 0d203d96..ba20ee9c 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart @@ -2,7 +2,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_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_package_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'; @@ -153,7 +153,7 @@ class _MIHProfileGetterState extends State { Widget errorPage(String error) { return MihApp( - appActionButton: MihAppAction( + appActionButton: MihPackageAction( icon: const Icon(Icons.refresh), iconSize: 35, onTap: () { diff --git a/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart b/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart index 04e10302..3c169045 100644 --- a/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart +++ b/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart @@ -1,5 +1,5 @@ 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_package_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'; @@ -19,8 +19,8 @@ class MzansiAi extends StatefulWidget { class _MzansiAiState extends State { int _selcetedIndex = 0; - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { 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 ad756248..a0f50d33 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_apis/mih_file_api.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_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -59,8 +59,8 @@ class _MzansiBusinessProfileState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { 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 21d31012..ec32f917 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,5 +1,5 @@ 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_package_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'; @@ -35,8 +35,8 @@ class _MzansiProfileState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { diff --git a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart index dc0b7f32..d5a6b85c 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart @@ -1,5 +1,5 @@ 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_package_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_wallet/package_tools/mih_card_favourites.dart'; @@ -46,8 +46,8 @@ class _MihWalletState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { 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 abf6a9ef..3d9ef4c0 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,5 +1,5 @@ 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_package_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'; @@ -42,8 +42,8 @@ class _PatManagerState extends State { ); } - MihAppAction getActionButton() { - return MihAppAction( + MihPackageAction getActionButton() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { 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 420314b1..06c3d619 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,5 +1,5 @@ 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_package_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'; @@ -36,8 +36,8 @@ class _PatientProfileState extends State { ); } - MihAppAction getAction() { - return MihAppAction( + MihPackageAction getAction() { + return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { From 52eaf5fe12338387be3d8992ea413e01e9db88dc Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 12:14:19 +0200 Subject: [PATCH 02/15] Update app tool body to package tool body --- .../Example/package_tools/package_tool_one.dart | 4 ++-- .../Example/package_tools/package_tool_two.dart | 4 ++-- ...{mih-app_tool_body.dart => mih_package_tool_body.dart} | 8 ++++---- .../about_mih/package_tools/mih_ attributes.dart | 4 ++-- .../mih_packages/about_mih/package_tools/mih_info.dart | 4 ++-- .../about_mih/package_tools/mih_privacy_policy.dart | 4 ++-- .../about_mih/package_tools/mih_terms_of_service.dart | 4 ++-- .../access_review/package_tools/mih_access_requests.dart | 4 ++-- .../calculator/package_tools/simple_calc.dart | 4 ++-- .../mih_packages/calculator/package_tools/tip_calc.dart | 4 ++-- .../mih_packages/calendar/package_tools/appointments.dart | 4 ++-- .../lib/mih_packages/mih_home/mih_profile_getter.dart | 4 ++-- .../mih_home/package_tools/mih_business_home.dart | 4 ++-- .../mih_home/package_tools/mih_personal_home.dart | 4 ++-- .../lib/mih_packages/mzansi_ai/package_tools/ai_chat.dart | 4 ++-- .../package_tools/mih_business_details.dart | 4 ++-- .../package_tools/mih_business_profile.dart | 4 ++-- .../package_tools/mih_business_user_search.dart | 4 ++-- .../package_tools/mih_my_business_team.dart | 4 ++-- .../package_tools/mih_my_business_user.dart | 4 ++-- .../package_tools/mih_personal_profile.dart | 4 ++-- .../package_tools/mih_personal_settings.dart | 4 ++-- .../mzansi_wallet/package_tools/mih_card_favourites.dart | 4 ++-- .../mzansi_wallet/package_tools/mih_cards.dart | 4 ++-- .../pat_manager/package_tools/mih_patient_search.dart | 4 ++-- .../pat_manager/package_tools/my_patient_list.dart | 4 ++-- .../pat_manager/package_tools/waiting_room.dart | 4 ++-- .../package_tools/patient_claim_or_statement.dart | 4 ++-- .../pat_profile/package_tools/patient_consultation.dart | 4 ++-- .../pat_profile/package_tools/patient_documents.dart | 4 ++-- .../pat_profile/package_tools/patient_info.dart | 4 ++-- 31 files changed, 64 insertions(+), 64 deletions(-) rename Frontend/lib/mih_components/mih_package_components/{mih-app_tool_body.dart => mih_package_tool_body.dart} (90%) diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart index 428ee9db..596701b6 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart @@ -4,7 +4,7 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; @@ -71,7 +71,7 @@ class _PackageToolOneState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart index 593fb041..8978aa72 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; class PackageToolTwo extends StatefulWidget { @@ -14,7 +14,7 @@ class PackageToolTwo extends StatefulWidget { class _PackageToolTwoState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: false, bodyItem: getBody(), ); diff --git a/Frontend/lib/mih_components/mih_package_components/mih-app_tool_body.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_tool_body.dart similarity index 90% rename from Frontend/lib/mih_components/mih_package_components/mih-app_tool_body.dart rename to Frontend/lib/mih_components/mih_package_components/mih_package_tool_body.dart index a696f51d..75b1a9d6 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih-app_tool_body.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_tool_body.dart @@ -1,20 +1,20 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:flutter/material.dart'; -class MihAppToolBody extends StatefulWidget { +class MihPackageToolBody extends StatefulWidget { final bool borderOn; final Widget bodyItem; - const MihAppToolBody({ + const MihPackageToolBody({ super.key, required this.borderOn, required this.bodyItem, }); @override - State createState() => _MihAppToolBodyState(); + State createState() => _MihPackageToolBodyState(); } -class _MihAppToolBodyState extends State { +class _MihPackageToolBodyState extends State { late double _innerBodyPadding; double getHorizontalPaddingSize(Size screenSize) { if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") { diff --git a/Frontend/lib/mih_packages/about_mih/package_tools/mih_ attributes.dart b/Frontend/lib/mih_packages/about_mih/package_tools/mih_ attributes.dart index eed5fedf..ea2a17d5 100644 --- a/Frontend/lib/mih_packages/about_mih/package_tools/mih_ attributes.dart +++ b/Frontend/lib/mih_packages/about_mih/package_tools/mih_ attributes.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -83,7 +83,7 @@ class _MihAttributesState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 fe0f7574..9c057947 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 @@ -3,7 +3,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_layout/mih_tile.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_package_tool_body.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; @@ -634,7 +634,7 @@ class _MihInfoState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 ab20f5bb..9fa2dee6 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -8,7 +8,7 @@ class MihPrivacyPolicy extends StatelessWidget { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(context), ); 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 8a06bd72..ad1654ad 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -8,7 +8,7 @@ class MIHTermsOfService extends StatelessWidget { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(context), ); 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 d6afe37b..6df24575 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; import '../../../main.dart'; @@ -244,7 +244,7 @@ class _MihAccessRequestState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 b214c2c1..90e1f115 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:flutter/material.dart'; import 'package:math_expressions/math_expressions.dart'; @@ -71,7 +71,7 @@ class _SimpleCalcState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 23190c72..ce02555f 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -262,7 +262,7 @@ class _TipCalcState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); diff --git a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart b/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart index d39abe0a..007dde95 100644 --- a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart +++ b/Frontend/lib/mih_packages/calendar/package_tools/appointments.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_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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.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'; @@ -365,7 +365,7 @@ class _PatientAccessRequestState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 ba20ee9c..0473bf20 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart @@ -1,6 +1,6 @@ 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; @@ -83,7 +83,7 @@ class _MIHProfileGetterState extends State { List getErrorToolBody(String error) { List toolBodies = [ - MihAppToolBody( + MihPackageToolBody( borderOn: true, bodyItem: Column( mainAxisAlignment: MainAxisAlignment.start, 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 cf6b4650..c0c3ab04 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -189,7 +189,7 @@ class _MihBusinessHomeState extends State final Size size = MediaQuery.sizeOf(context); final double width = size.width; final double height = size.height; - return MihAppToolBody( + return MihPackageToolBody( borderOn: false, bodyItem: getBody(width, height), ); 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 94df5459..7e0e4b22 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.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'; @@ -234,7 +234,7 @@ class _MihPersonalHomeState extends State final double width = size.width; final double height = size.height; - return MihAppToolBody( + return MihPackageToolBody( borderOn: false, bodyItem: getBody(width, height), ); 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 6f8c510a..a9d89c21 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 @@ -5,7 +5,7 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; @@ -672,7 +672,7 @@ class _AiChatState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: false, bodyItem: getBody(), ); diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart index a18c7e5d..9660360c 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart @@ -7,7 +7,7 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_location_api.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.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_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; @@ -233,7 +233,7 @@ class _MihBusinessDetailsState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(context), ); 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 4c54ba28..f126e78e 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 @@ -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_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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.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'; @@ -322,7 +322,7 @@ class _MihBusinessProfileState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 7855686a..294567b2 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -91,7 +91,7 @@ class _MihBusinessUserSearchState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 892d63bf..bf673538 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -74,7 +74,7 @@ class _MihMyBusinessTeamState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 bd8dd200..4e0f9941 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 @@ -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_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_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_package_tool_body.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_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_image_display.dart'; @@ -205,7 +205,7 @@ class _MihMyBusinessUserState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 464ac7d8..20aea711 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 @@ -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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.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_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; @@ -252,7 +252,7 @@ class _MihPersonalProfileState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 index ccf7c99e..e503419a 100644 --- 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 @@ -2,7 +2,7 @@ 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_package_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'; @@ -22,7 +22,7 @@ class MihPersonalSettings extends StatefulWidget { class _MihPersonalSettingsState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody(borderOn: true, bodyItem: getBody()); + return MihPackageToolBody(borderOn: true, bodyItem: getBody()); } void deleteAccountPopUp(BuildContext ctxtd) { diff --git a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart index 483ae255..83d87a9c 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_wallet_apis.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_package_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/loyalty_card.dart'; @@ -33,7 +33,7 @@ class _MihCardFavouritesState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 5f0569e1..49e9da12 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 @@ -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_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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.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'; @@ -269,7 +269,7 @@ class _MihCardsState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 e5bf74f4..f7a66015 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -221,7 +221,7 @@ class _MihPatientSearchState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getPatientSearch(), ); 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 9d8f172a..a37ef53a 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -201,7 +201,7 @@ class _MyPatientListState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: myPatientListTool(), ); 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 52ba088a..bdbda248 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 @@ -9,7 +9,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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.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'; @@ -450,7 +450,7 @@ class _WaitingRoomState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBusinessAppointmentsTool(), ); 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 17cfad69..edd7fcb1 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,7 +1,7 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.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'; @@ -113,7 +113,7 @@ class _PatientClaimOrStatementState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 01eb81fd..a8ad62e4 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 @@ -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_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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.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'; @@ -316,7 +316,7 @@ class _PatientConsultationState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 b4966ebf..389b3810 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 @@ -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_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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.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'; @@ -594,7 +594,7 @@ class _PatientDocumentsState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); 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 d435be7e..e53c7223 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 @@ -2,7 +2,7 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_components/mih-app_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -232,7 +232,7 @@ class _PatientInfoState extends State { @override Widget build(BuildContext context) { - return MihAppToolBody( + return MihPackageToolBody( borderOn: true, bodyItem: getBody(), ); From 4bca2afed54d23261a7435645d73d6706b43d6fa Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 12:18:01 +0200 Subject: [PATCH 03/15] chanmge mih app tyo mih package --- .../mih_package_components/Example/package_test.dart | 4 ++-- .../{mih_app.dart => mih_package.dart} | 11 ++++++----- Frontend/lib/mih_packages/about_mih/about_mih.dart | 4 ++-- .../lib/mih_packages/access_review/mih_access.dart | 4 ++-- .../lib/mih_packages/calculator/mih_calculator.dart | 4 ++-- .../lib/mih_packages/calendar/mzansi_calendar.dart | 4 ++-- Frontend/lib/mih_packages/mih_home/mih_home.dart | 4 ++-- .../lib/mih_packages/mih_home/mih_profile_getter.dart | 4 ++-- Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart | 4 ++-- .../business_profile/mzansi_business_profile.dart | 4 ++-- .../personal_profile/mzansi_profile.dart | 4 ++-- .../lib/mih_packages/mzansi_wallet/mih_wallet.dart | 4 ++-- .../patient_profile/pat_manager/pat_manager.dart | 4 ++-- .../patient_profile/pat_profile/patient_profile.dart | 4 ++-- 14 files changed, 32 insertions(+), 31 deletions(-) rename Frontend/lib/mih_components/mih_package_components/{mih_app.dart => mih_package.dart} (95%) diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart index a2ea1708..2d3de21a 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart @@ -1,5 +1,5 @@ import 'package:mzansi_innovation_hub/main.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_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; @@ -119,7 +119,7 @@ class _PackageTestState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app.dart b/Frontend/lib/mih_components/mih_package_components/mih_package.dart similarity index 95% rename from Frontend/lib/mih_components/mih_package_components/mih_app.dart rename to Frontend/lib/mih_components/mih_package_components/mih_package.dart index aff69b0f..7d5d24d2 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package.dart @@ -5,14 +5,14 @@ import 'package:flutter/material.dart'; // import 'package:flutter_swipe_detector/flutter_swipe_detector.dart'; // ignore: must_be_immutable -class MihApp extends StatefulWidget { +class MihPackage extends StatefulWidget { final Widget appActionButton; final MihAppTools appTools; final List appBody; final MIHAppDrawer? actionDrawer; int selectedbodyIndex; final Function(int) onIndexChange; - MihApp({ + MihPackage({ super.key, required this.appActionButton, required this.appTools, @@ -23,10 +23,11 @@ class MihApp extends StatefulWidget { }); @override - State createState() => _MihAppState(); + State createState() => _MihPackageState(); } -class _MihAppState extends State with SingleTickerProviderStateMixin { +class _MihPackageState extends State + with SingleTickerProviderStateMixin { late PageController _pageController; late AnimationController _animationController; @@ -65,7 +66,7 @@ class _MihAppState extends State with SingleTickerProviderStateMixin { } @override - void didUpdateWidget(covariant MihApp oldWidget) { + void didUpdateWidget(covariant MihPackage oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.selectedbodyIndex != widget.selectedbodyIndex) { _pageController.animateToPage( diff --git a/Frontend/lib/mih_packages/about_mih/about_mih.dart b/Frontend/lib/mih_packages/about_mih/about_mih.dart index b61b15e6..8f1e6f17 100644 --- a/Frontend/lib/mih_packages/about_mih/about_mih.dart +++ b/Frontend/lib/mih_packages/about_mih/about_mih.dart @@ -1,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_%20attributes.dart'; @@ -31,7 +31,7 @@ class _AboutMihState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), diff --git a/Frontend/lib/mih_packages/access_review/mih_access.dart b/Frontend/lib/mih_packages/access_review/mih_access.dart index 6b6ebfa6..93c0d355 100644 --- a/Frontend/lib/mih_packages/access_review/mih_access.dart +++ b/Frontend/lib/mih_packages/access_review/mih_access.dart @@ -1,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; @@ -20,7 +20,7 @@ class _MihAccessState extends State { int _selcetedIndex = 0; @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), diff --git a/Frontend/lib/mih_packages/calculator/mih_calculator.dart b/Frontend/lib/mih_packages/calculator/mih_calculator.dart index 34f38236..4cc0e06f 100644 --- a/Frontend/lib/mih_packages/calculator/mih_calculator.dart +++ b/Frontend/lib/mih_packages/calculator/mih_calculator.dart @@ -1,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_packages/calculator/package_tools/simple_calc.dart'; @@ -21,7 +21,7 @@ class _MIHCalculatorState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), diff --git a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart index 6d06ce84..b12def2f 100644 --- a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart +++ b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart @@ -1,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -21,7 +21,7 @@ class _MzansiCalendarState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart index 607d5e5e..8c8c81f3 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home.dart @@ -1,5 +1,5 @@ import 'package:mzansi_innovation_hub/main.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_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; @@ -74,7 +74,7 @@ class _MihHomeState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), 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 0473bf20..694cfc80 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_profile_getter.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_package_components/mih_package_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_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_home.dart'; @@ -152,7 +152,7 @@ class _MIHProfileGetterState extends State { } Widget errorPage(String error) { - return MihApp( + return MihPackage( appActionButton: MihPackageAction( icon: const Icon(Icons.refresh), iconSize: 35, diff --git a/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart b/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart index 3c169045..1380d647 100644 --- a/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart +++ b/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart @@ -1,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; @@ -58,7 +58,7 @@ class _MzansiAiState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), 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 a0f50d33..debaa229 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,5 +1,5 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.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_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; @@ -46,7 +46,7 @@ class _MzansiBusinessProfileState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), 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 ec32f917..22abb43e 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,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -22,7 +22,7 @@ class _MzansiProfileState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), diff --git a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart index d5a6b85c..5d5f4704 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart @@ -1,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -32,7 +32,7 @@ class _MihWalletState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), 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 3d9ef4c0..1e7ad9cc 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,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -29,7 +29,7 @@ class _PatManagerState extends State { @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getActionButton(), appTools: getTools(), appBody: getToolBody(), 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 06c3d619..db6bf84a 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,4 +1,4 @@ -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -23,7 +23,7 @@ class _PatientProfileState extends State { int _selcetedIndex = 0; @override Widget build(BuildContext context) { - return MihApp( + return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), From 8eae09936bb8927b220f6a2bb18b815e972c25e7 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 12:19:54 +0200 Subject: [PATCH 04/15] change app alert to package alert --- .../mih_package_components/Example/package_test.dart | 4 ++-- .../{mih_app_alert.dart => mih_package_alert.dart} | 8 ++++---- .../lib/mih_packages/authentication/biometric_check.dart | 4 ++-- .../package_tools/mih_business_details.dart | 4 ++-- .../package_tools/mih_my_business_user.dart | 4 ++-- .../package_tools/mih_personal_profile.dart | 4 ++-- .../package_tools/mih_personal_settings.dart | 4 ++-- .../mzansi_wallet/builder/build_loyalty_card_list.dart | 6 +++--- 8 files changed, 19 insertions(+), 19 deletions(-) rename Frontend/lib/mih_components/mih_package_components/{mih_app_alert.dart => mih_package_alert.dart} (93%) diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart index 2d3de21a..a988b509 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart @@ -1,7 +1,7 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.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/Example/package_tools/package_tool_one.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart'; @@ -54,7 +54,7 @@ class _PackageTestState extends State { showDialog( context: context, builder: (context) { - return MihAppAlert( + return MihPackageAlert( alertIcon: Icon( Icons.warning_amber_rounded, size: 100, diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app_alert.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_alert.dart similarity index 93% rename from Frontend/lib/mih_components/mih_package_components/mih_app_alert.dart rename to Frontend/lib/mih_components/mih_package_components/mih_package_alert.dart index 92b5e3e0..9791db98 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app_alert.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_alert.dart @@ -1,12 +1,12 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:flutter/material.dart'; -class MihAppAlert extends StatefulWidget { +class MihPackageAlert extends StatefulWidget { final Widget alertIcon; final String alertTitle; final Widget alertBody; final Color alertColour; - const MihAppAlert({ + const MihPackageAlert({ super.key, required this.alertIcon, required this.alertTitle, @@ -15,10 +15,10 @@ class MihAppAlert extends StatefulWidget { }); @override - State createState() => _MihAppAlertState(); + State createState() => _MihPackageAlertState(); } -class _MihAppAlertState extends State { +class _MihPackageAlertState extends State { late double popUpWidth; late double? popUpheight; late double popUpTitleSize; diff --git a/Frontend/lib/mih_packages/authentication/biometric_check.dart b/Frontend/lib/mih_packages/authentication/biometric_check.dart index 6569513c..e424852a 100644 --- a/Frontend/lib/mih_packages/authentication/biometric_check.dart +++ b/Frontend/lib/mih_packages/authentication/biometric_check.dart @@ -4,7 +4,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_action.dart' import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_header.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_layout_builder.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_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_profile_getter.dart'; import 'package:flutter/material.dart'; @@ -106,7 +106,7 @@ class _BiometricCheckState extends State { } void authErrorPopUp() { - Widget alertpopUp = MihAppAlert( + Widget alertpopUp = MihPackageAlert( alertIcon: Icon( Icons.fingerprint, color: MzanziInnovationHub.of(context)!.theme.errorColor(), diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart index 9660360c..f367f157 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.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_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_components/mih_package_tool_body.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_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.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'; @@ -91,7 +91,7 @@ class _MihBusinessDetailsState extends State { showDialog( context: context, builder: (context) { - return MihAppAlert( + return MihPackageAlert( alertIcon: Icon( Icons.warning_rounded, color: MzanziInnovationHub.of(context)!.theme.errorColor(), 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 4e0f9941..7ad810e6 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 @@ -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_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_components/mih_package_tool_body.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_package_alert.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_image_display.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; @@ -126,7 +126,7 @@ class _MihMyBusinessUserState extends State { showDialog( context: context, builder: (context) { - return MihAppAlert( + return MihPackageAlert( alertIcon: Icon( Icons.warning_rounded, color: MzanziInnovationHub.of(context)!.theme.errorColor(), 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 20aea711..69064c07 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 @@ -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_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_components/mih_package_tool_body.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_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.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'; @@ -44,7 +44,7 @@ class _MihPersonalProfileState extends State { showDialog( context: context, builder: (context) { - return MihAppAlert( + return MihPackageAlert( alertIcon: Icon( Icons.warning_amber_rounded, size: 100, 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 index e503419a..12ca92c4 100644 --- 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 @@ -3,7 +3,7 @@ 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_package_tool_body.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_package_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'; @@ -30,7 +30,7 @@ class _MihPersonalSettingsState extends State { context: context, barrierDismissible: false, builder: (context) { - return MihAppAlert( + return MihPackageAlert( alertIcon: Icon( Icons.warning_amber_rounded, size: 100, diff --git a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart index 06656932..6cde37b6 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.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_number_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_window.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_package_alert.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_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart'; @@ -157,7 +157,7 @@ class _BuildLoyaltyCardListState extends State { context: context, barrierDismissible: false, builder: (context) { - return MihAppAlert( + return MihPackageAlert( alertIcon: Icon( Icons.favorite, color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), @@ -213,7 +213,7 @@ class _BuildLoyaltyCardListState extends State { context: context, barrierDismissible: false, builder: (context) { - return MihAppAlert( + return MihPackageAlert( alertIcon: Icon( Icons.favorite_border, color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), From 5fcd1d30bf620562ed41fad1fbfba6ebd1cc5aa6 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 12:21:29 +0200 Subject: [PATCH 05/15] update app tile to package tile --- .../{mih_app_tile.dart => mih_package_tile.dart} | 8 ++++---- .../about_mih/package_tile/about_mih_tile.dart | 4 ++-- .../access_review/package_tile/mih_access_tile.dart | 4 ++-- .../calculator/package_tiles/mih_calculator_tile.dart | 4 ++-- .../calendar/package_tiles/mzansi_calendar_tile.dart | 4 ++-- .../mih_home/package_tools/mih_personal_home.dart | 4 ++-- .../mzansi_ai/package_tiles/mzansi_ai_tile.dart | 4 ++-- .../package_tiles/mzansi_business_profile_tile.dart | 4 ++-- .../package_tiles/mzansi_setup_business_profile_tile.dart | 4 ++-- .../package_tiles/mzansi_profile_tile.dart | 4 ++-- .../package_tiles/mzansi_setup_profile_tile.dart | 4 ++-- .../mzansi_wallet/package_tiles/mih_wallet_tile.dart | 4 ++-- .../pat_manager/package_tiles/pat_manager_tile.dart | 4 ++-- .../pat_profile/package_tiles/patient_profile_tile.dart | 4 ++-- 14 files changed, 30 insertions(+), 30 deletions(-) rename Frontend/lib/mih_components/mih_package_components/{mih_app_tile.dart => mih_package_tile.dart} (93%) diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_tile.dart similarity index 93% rename from Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart rename to Frontend/lib/mih_components/mih_package_components/mih_package_tile.dart index 9fce2cf4..a1e4b5b8 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_tile.dart @@ -3,7 +3,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart'; import 'package:flutter/material.dart'; -class MihAppTile extends StatefulWidget { +class MihPackageTile extends StatefulWidget { final String appName; final String? ytVideoID; final Widget appIcon; @@ -11,7 +11,7 @@ class MihAppTile extends StatefulWidget { final double iconSize; final Color primaryColor; final Color secondaryColor; - const MihAppTile({ + const MihPackageTile({ super.key, required this.onTap, required this.appName, @@ -23,10 +23,10 @@ class MihAppTile extends StatefulWidget { }); @override - State createState() => _MihAppTileState(); + State createState() => _MihPackageTileState(); } -class _MihAppTileState extends State { +class _MihPackageTileState extends State { void displayHint() { if (widget.ytVideoID != null) { showDialog( 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 1b453184..7b41c20e 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_components/mih_app_tile.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart'; import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; @@ -17,7 +17,7 @@ class AboutMihTile extends StatefulWidget { class _AboutMihTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/about', 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 52555d1e..c77be228 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; @@ -21,7 +21,7 @@ class MihAccessTile extends StatefulWidget { class _MihAccessTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/mih-access', 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 8e146924..60d96feb 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_components/mih_app_tile.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart'; import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; @@ -20,7 +20,7 @@ class MihCalculatorTile extends StatefulWidget { class _MihCalculatorTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/calculator', 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 aecc5787..676bffb8 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -21,7 +21,7 @@ class MzansiCalendarTile extends StatefulWidget { class _MzansiCalendarTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/calendar', 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 7e0e4b22..b7319716 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 @@ -2,7 +2,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_components/mih_package_tool_body.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_package_tile.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'; @@ -149,7 +149,7 @@ class _MihPersonalHomeState extends State //=============== Dev =============== if (widget.isDevActive) { temp.add({ - "test": MihAppTile( + "test": MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/package-dev', 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 09149d1b..3bdba607 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; @@ -21,7 +21,7 @@ class MzansiAiTile extends StatefulWidget { class _MzansiAiTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/mzansi-ai', 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 bb1792b8..684a81a7 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -21,7 +21,7 @@ class MzansiBusinessProfileTile extends StatefulWidget { class _MzansiBusinessProfileTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/business-profile/manage', 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 5331c037..f59028a1 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; @@ -22,7 +22,7 @@ class _MzansiSetupBusinessProfileTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/business-profile/set-up', 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 7f330594..6f1738e0 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -25,7 +25,7 @@ class _MzansiProfileTileState extends State { @override Widget build(BuildContext context) { // ImageProvider logo = MzanziInnovationHub.of(context)!.theme.logoImage(); - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/mzansi-profile', 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 81638084..b1c57119 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -24,7 +24,7 @@ class MzansiSetupProfileTile extends StatefulWidget { class _MzansiSetupProfileTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/mzansi-profile', 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 2982ac86..cf15b560 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; @@ -22,7 +22,7 @@ class MihWalletTile extends StatefulWidget { class _MihWalletTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/mzansi-wallet', 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 34e89302..77c30aec 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -20,7 +20,7 @@ class PatManagerTile extends StatefulWidget { class _PatManagerTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/patient-manager', 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 98153e41..0ea6ddd0 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_components/mih_app_tile.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'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -21,7 +21,7 @@ class PatientProfileTile extends StatefulWidget { class _PatientProfileTileState extends State { @override Widget build(BuildContext context) { - return MihAppTile( + return MihPackageTile( onTap: () { Navigator.of(context).pushNamed( '/patient-profile', From 27f06993c8405940e9676d514cba234163c8228e Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 12:23:16 +0200 Subject: [PATCH 06/15] update app tools to package tools --- .../mih_package_components/Example/package_test.dart | 6 +++--- .../mih_package_components/mih_package.dart | 4 ++-- .../{mih_app_tools.dart => mih_package_tools.dart} | 8 ++++---- Frontend/lib/mih_packages/about_mih/about_mih.dart | 6 +++--- Frontend/lib/mih_packages/access_review/mih_access.dart | 6 +++--- Frontend/lib/mih_packages/calculator/mih_calculator.dart | 6 +++--- Frontend/lib/mih_packages/calendar/mzansi_calendar.dart | 6 +++--- Frontend/lib/mih_packages/mih_home/mih_home.dart | 6 +++--- .../lib/mih_packages/mih_home/mih_profile_getter.dart | 6 +++--- Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart | 6 +++--- .../business_profile/mzansi_business_profile.dart | 6 +++--- .../mzansi_profile/personal_profile/mzansi_profile.dart | 6 +++--- Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart | 6 +++--- .../patient_profile/pat_manager/pat_manager.dart | 6 +++--- .../patient_profile/pat_profile/patient_profile.dart | 6 +++--- 15 files changed, 45 insertions(+), 45 deletions(-) rename Frontend/lib/mih_components/mih_package_components/{mih_app_tools.dart => mih_package_tools.dart} (83%) diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart index a988b509..1f791879 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_test.dart @@ -2,7 +2,7 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.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_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -32,7 +32,7 @@ class _PackageTestState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = Map(); temp[const Icon(Icons.inbox)] = () { setState(() { @@ -44,7 +44,7 @@ class _PackageTestState extends State { _selcetedIndex = 1; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); diff --git a/Frontend/lib/mih_components/mih_package_components/mih_package.dart b/Frontend/lib/mih_components/mih_package_components/mih_package.dart index 7d5d24d2..31a0d973 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_package.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package.dart @@ -1,13 +1,13 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_home/components/mih_app_drawer.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_package_tools.dart'; import 'package:flutter/material.dart'; // import 'package:flutter_swipe_detector/flutter_swipe_detector.dart'; // ignore: must_be_immutable class MihPackage extends StatefulWidget { final Widget appActionButton; - final MihAppTools appTools; + final MihPackageTools appTools; final List appBody; final MIHAppDrawer? actionDrawer; int selectedbodyIndex; diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app_tools.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_tools.dart similarity index 83% rename from Frontend/lib/mih_components/mih_package_components/mih_app_tools.dart rename to Frontend/lib/mih_components/mih_package_components/mih_package_tools.dart index b4907a7c..4a4abddd 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app_tools.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_tools.dart @@ -1,20 +1,20 @@ import 'package:flutter/material.dart'; // ignore: must_be_immutable -class MihAppTools extends StatefulWidget { +class MihPackageTools extends StatefulWidget { final Map tools; int selcetedIndex; - MihAppTools({ + MihPackageTools({ super.key, required this.tools, required this.selcetedIndex, }); @override - State createState() => _MihAppToolsState(); + State createState() => _MihPackageToolsState(); } -class _MihAppToolsState extends State { +class _MihPackageToolsState extends State { List getTools() { List temp = []; int index = 0; diff --git a/Frontend/lib/mih_packages/about_mih/about_mih.dart b/Frontend/lib/mih_packages/about_mih/about_mih.dart index 8f1e6f17..3309cd6f 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_%20attributes.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'; @@ -56,7 +56,7 @@ class _AboutMihState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.info)] = () { setState(() { @@ -78,7 +78,7 @@ class _AboutMihState extends State { _selcetedIndex = 3; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); diff --git a/Frontend/lib/mih_packages/access_review/mih_access.dart b/Frontend/lib/mih_packages/access_review/mih_access.dart index 93c0d355..894c7c17 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -45,14 +45,14 @@ class _MihAccessState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.people)] = () { setState(() { _selcetedIndex = 0; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); diff --git a/Frontend/lib/mih_packages/calculator/mih_calculator.dart b/Frontend/lib/mih_packages/calculator/mih_calculator.dart index 4cc0e06f..35211842 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -46,7 +46,7 @@ class _MIHCalculatorState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.calculate)] = () { setState(() { @@ -58,7 +58,7 @@ class _MIHCalculatorState extends State { _selectedIndex = 1; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selectedIndex, ); diff --git a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart index b12def2f..02623f8b 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -46,7 +46,7 @@ class _MzansiCalendarState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.calendar_month)] = () { setState(() { @@ -54,7 +54,7 @@ class _MzansiCalendarState extends State { }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart index 8c8c81f3..7749b992 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home.dart @@ -1,7 +1,7 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/business.dart'; @@ -140,7 +140,7 @@ class _MihHomeState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.person)] = () { setState(() { @@ -156,7 +156,7 @@ class _MihHomeState extends State { }); }; } - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); 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 694cfc80..693f9365 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_profile_getter.dart @@ -3,7 +3,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_home.dart'; import 'package:flutter/material.dart'; @@ -67,7 +67,7 @@ class _MIHProfileGetterState extends State { } } - MihAppTools getErrorTools() { + MihPackageTools getErrorTools() { Map temp = {}; temp[const Icon(Icons.power_off_outlined)] = () { setState(() { @@ -75,7 +75,7 @@ class _MIHProfileGetterState extends State { }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); diff --git a/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart b/Frontend/lib/mih_packages/mzansi_ai/mzansi_ai.dart index 1380d647..921ab4da 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -30,7 +30,7 @@ class _MzansiAiState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.chat)] = () { setState(() { @@ -38,7 +38,7 @@ class _MzansiAiState extends State { }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); 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 debaa229..0344cc3e 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,7 +1,7 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.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_details.dart'; @@ -70,7 +70,7 @@ class _MzansiBusinessProfileState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.business)] = () { setState(() { @@ -97,7 +97,7 @@ class _MzansiBusinessProfileState extends State { _selcetedIndex = 3; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); 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 22abb43e..40e9cc64 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,6 +1,6 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -46,7 +46,7 @@ class _MzansiProfileState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.perm_identity)] = () { setState(() { @@ -58,7 +58,7 @@ class _MzansiProfileState extends State { _selcetedIndex = 1; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); diff --git a/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart b/Frontend/lib/mih_packages/mzansi_wallet/mih_wallet.dart index 5d5f4704..36cd5398 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_cards.dart'; @@ -57,7 +57,7 @@ class _MihWalletState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.card_membership)] = () { setState(() { @@ -70,7 +70,7 @@ class _MihWalletState extends State { }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); 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 1e7ad9cc..2b9d68f9 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -53,7 +53,7 @@ class _PatManagerState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.calendar_month)] = () { setState(() { @@ -72,7 +72,7 @@ class _PatManagerState extends State { _selcetedIndex = 2; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); 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 db6bf84a..4674ba9e 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_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_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'; @@ -47,7 +47,7 @@ class _PatientProfileState extends State { ); } - MihAppTools getTools() { + MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.perm_identity)] = () { setState(() { @@ -69,7 +69,7 @@ class _PatientProfileState extends State { _selcetedIndex = 3; }); }; - return MihAppTools( + return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); From 2f071bfa223222af8fd1254fcb0d47f5e1afe564 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 12:25:52 +0200 Subject: [PATCH 07/15] Update app window to package window --- .../Example/package_tools/package_tool_one.dart | 6 +++--- .../mih_package_components/mih_package_tile.dart | 4 ++-- .../{mih_app_window.dart => mih_package_window.dart} | 8 ++++---- .../mih_packages/about_mih/package_tools/mih_info.dart | 2 +- .../lib/mih_packages/mzansi_ai/package_tools/ai_chat.dart | 6 +++--- .../mzansi_wallet/builder/build_loyalty_card_list.dart | 4 ++-- 6 files changed, 15 insertions(+), 15 deletions(-) rename Frontend/lib/mih_components/mih_package_components/{mih_app_window.dart => mih_package_window.dart} (96%) diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart index 596701b6..b4b8679a 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart @@ -5,7 +5,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_components/mih_package_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_package_components/mih_package_window.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_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; @@ -29,7 +29,7 @@ class _PackageToolOneState extends State { context: context, barrierDismissible: false, builder: (context) { - return MihAppWindow( + return MihPackageWindow( fullscreen: true, windowTitle: "Test Full", onWindowTapClose: () { @@ -46,7 +46,7 @@ class _PackageToolOneState extends State { context: context, barrierDismissible: false, builder: (context) { - return MihAppWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Test No Full", onWindowTapClose: () { diff --git a/Frontend/lib/mih_components/mih_package_components/mih_package_tile.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_tile.dart index a1e4b5b8..5b7f9450 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_package_tile.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_tile.dart @@ -1,5 +1,5 @@ import 'package:mzansi_innovation_hub/main.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_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart'; import 'package:flutter/material.dart'; @@ -32,7 +32,7 @@ class _MihPackageTileState extends State { showDialog( context: context, builder: (context) { - return MihAppWindow( + return MihPackageWindow( fullscreen: false, windowTitle: widget.appName, // windowTools: const [], diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app_window.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart similarity index 96% rename from Frontend/lib/mih_components/mih_package_components/mih_app_window.dart rename to Frontend/lib/mih_components/mih_package_components/mih_package_window.dart index 09277548..e6083892 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app_window.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart @@ -2,14 +2,14 @@ import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; -class MihAppWindow extends StatefulWidget { +class MihPackageWindow extends StatefulWidget { final String windowTitle; final Widget windowBody; final Widget? windowTools; // final List menuOptions; final void Function() onWindowTapClose; final bool fullscreen; - const MihAppWindow({ + const MihPackageWindow({ super.key, required this.fullscreen, required this.windowTitle, @@ -20,10 +20,10 @@ class MihAppWindow extends StatefulWidget { }); @override - State createState() => _MihAppWindowState(); + State createState() => _MihPackageWindowState(); } -class _MihAppWindowState extends State { +class _MihPackageWindowState extends State { late double windowTitleSize; late double horizontralWindowPadding; late double vertticalWindowPadding; 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 9c057947..22bf024d 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 @@ -87,7 +87,7 @@ class _MihInfoState extends State { // context: context, // barrierDismissible: false, // builder: (context) { - // return MihAppWindow( + // return MihPackageWindow( // fullscreen: false, // windowTitle: "MIH Installation Guide (iOS)", // windowTools: const [], 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 a9d89c21..acf9146f 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 @@ -6,7 +6,7 @@ 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_components/mih_package_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_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.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'; @@ -169,7 +169,7 @@ class _AiChatState extends State { textStream = snapshot.requireData; // print("Text: $textStream"); // _speakText(textStream!); - return MihAppWindow( + return MihPackageWindow( fullscreen: false, windowTitle: 'Mzansi AI Thoughts', windowTools: Row( @@ -300,7 +300,7 @@ class _AiChatState extends State { ), ); } else { - return MihAppWindow( + return MihPackageWindow( fullscreen: false, windowTitle: 'Mzansi AI Thoughts', // windowTools: [], diff --git a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart index 6cde37b6..3b4a503e 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.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_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.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_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; 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'; @@ -276,7 +276,7 @@ class _BuildLoyaltyCardListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MihAppWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: widget.cardList[index].shop_name.toUpperCase(), windowTools: Row( From 10b77eb51cd2ecb8a4aa8a7da69d366a89315725 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 27 May 2025 13:57:10 +0200 Subject: [PATCH 08/15] use Mih Package Window instead of MIH Window --- .../mih_components/mih_layout/mih_tile.dart | 16 +- .../mih_components/mih_layout/mih_window.dart | 214 ------- .../builder/build_access_request_list.dart | 127 ++-- .../builder/build_business_access_list.dart | 394 ++++++------ .../calculator/package_tools/tip_calc.dart | 185 +++--- .../builder/build_access_request_list.dart | 110 ++-- .../builder/build_appointment_list.dart | 582 ++++++++++-------- .../calendar/package_tools/appointments.dart | 108 ++-- .../mih_home/mih_home_legacy.dart | 95 ++- .../builders/build_employee_list.dart | 157 +++-- .../builders/build_user_list.dart | 126 ++-- .../builder/build_employee_list.dart | 157 +++-- .../builder/build_user_list.dart | 126 ++-- .../builder/build_loyalty_card_list.dart | 302 +++++---- .../package_tools/mih_cards.dart | 280 ++++----- .../build_mih_patient_search_list.dart | 550 +++++++++-------- .../build_my_patient_list_list.dart | 255 ++++---- .../package_tools/waiting_room.dart | 225 +++---- .../components/Claim_Statement_Window.dart | 10 +- .../components/icd10_search_window.dart | 10 +- .../components/medicine_search.dart | 75 +-- .../build_claim_statement_files_list.dart | 86 ++- .../list_builders/build_files_list.dart | 71 ++- .../list_builders/build_notes_list.dart | 120 ++-- .../package_tools/patient_consultation.dart | 179 +++--- .../package_tools/patient_documents.dart | 208 ++++--- Frontend/lib/mih_packages/test/test.dart | 15 +- 27 files changed, 2401 insertions(+), 2382 deletions(-) delete mode 100644 Frontend/lib/mih_components/mih_layout/mih_window.dart diff --git a/Frontend/lib/mih_components/mih_layout/mih_tile.dart b/Frontend/lib/mih_components/mih_layout/mih_tile.dart index caa406d9..ad59559f 100644 --- a/Frontend/lib/mih_components/mih_layout/mih_tile.dart +++ b/Frontend/lib/mih_components/mih_layout/mih_tile.dart @@ -1,7 +1,7 @@ +import 'package:mzansi_innovation_hub/main.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart'; import 'package:flutter/material.dart'; -import '../../main.dart'; -import 'mih_window.dart'; class MIHTile extends StatefulWidget { final String tileName; @@ -47,16 +47,18 @@ class _MIHTileState extends State { showDialog( context: context, builder: (context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: widget.tileName, - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHYTVideoPlayer(videoYTLink: widget.videoID!), - ], + windowBody: Column( + children: [ + MIHYTVideoPlayer(videoYTLink: widget.videoID!), + ], + ), ); }, ); diff --git a/Frontend/lib/mih_components/mih_layout/mih_window.dart b/Frontend/lib/mih_components/mih_layout/mih_window.dart deleted file mode 100644 index ded7b8cc..00000000 --- a/Frontend/lib/mih_components/mih_layout/mih_window.dart +++ /dev/null @@ -1,214 +0,0 @@ -import 'package:flutter/material.dart'; -import '../../main.dart'; - -class MIHWindow extends StatefulWidget { - final String windowTitle; - final List windowBody; - final List windowTools; - final void Function() onWindowTapClose; - final bool fullscreen; - const MIHWindow({ - super.key, - required this.fullscreen, - required this.windowTitle, - required this.windowTools, - required this.onWindowTapClose, - required this.windowBody, - }); - - @override - State createState() => _MIHWindowState(); -} - -class _MIHWindowState extends State { - late double windowTitleSize; - late double horizontralWindowPadding; - late double vertticalWindowPadding; - late double windowWidth; - late double windowHeight; - late double width; - late double height; - - void checkScreenSize() { - // print("screen width: $width"); - // print("screen height: $height"); - if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") { - setState(() { - windowTitleSize = 25; - horizontralWindowPadding = width / 7; - vertticalWindowPadding = 25; - windowWidth = width; - windowHeight = height; - }); - } else { - setState(() { - windowTitleSize = 20; - horizontralWindowPadding = 10; - vertticalWindowPadding = 10; - windowWidth = width; - windowHeight = height; - }); - } - } - - Widget getWidnowClose() { - return Container( - alignment: Alignment.centerRight, - child: IconButton( - onPressed: widget.onWindowTapClose, - icon: Icon( - Icons.close, - color: MzanziInnovationHub.of(context)!.theme.errorColor(), - size: 35, - ), - ), - ); - } - - Widget getWidnowTools() { - return Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.max, - children: widget.windowTools, - ); - } - - Widget getWidnowTitle() { - return Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - children: [ - Expanded( - child: Text( - widget.windowTitle, - textAlign: TextAlign.center, - overflow: TextOverflow.ellipsis, - style: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - fontSize: windowTitleSize, - fontWeight: FontWeight.bold, - ), - ), - ), - ], - ); - } - - Widget getWidnowHeader() { - return Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.max, - children: [ - getWidnowTools(), - Expanded( - flex: 2, - child: getWidnowTitle(), - ), - getWidnowClose(), - ], - ); - } - - Widget getWidnowBody() { - if (widget.fullscreen) { - return Expanded( - child: Padding( - padding: const EdgeInsets.all(10.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.max, - children: widget.windowBody, - ), - ), - ); - } else { - return Padding( - padding: const EdgeInsets.all(10.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.max, - children: widget.windowBody, - ), - ); - } - } - - Widget createWindow(Widget header, Widget body) { - Widget visibleItems; - if (widget.fullscreen) { - visibleItems = Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - header, - //const Divider(), - body, - ], - ); - } else { - visibleItems = SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - header, - //const Divider(), - body, - ], - ), - ); - } - return Dialog( - insetPadding: EdgeInsets.symmetric( - horizontal: horizontralWindowPadding, - vertical: vertticalWindowPadding, - ), - insetAnimationCurve: Easing.emphasizedDecelerate, - insetAnimationDuration: Durations.short1, - child: Container( - //padding: const EdgeInsets.all(10), - width: windowWidth, - //height: windowHeight, - decoration: BoxDecoration( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - borderRadius: BorderRadius.circular(25.0), - border: Border.all( - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - width: 5.0), - ), - child: visibleItems, - ), - ); - } - - @override - void dispose() { - super.dispose(); - } - - @override - void initState() { - super.initState(); - } - - @override - Widget build(BuildContext context) { - var size = MediaQuery.of(context).size; - setState(() { - width = size.width; - height = size.height; - }); - checkScreenSize(); - return createWindow( - getWidnowHeader(), - getWidnowBody(), - ); - } -} diff --git a/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart b/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart index 64e6f0ac..3b2a8115 100644 --- a/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart +++ b/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart @@ -1,18 +1,17 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +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_components/mih_package_window.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_components/mih_pop_up_messages/mih_warning_message.dart'; +import 'package:mzansi_innovation_hub/mih_env/env.dart'; +import 'package:mzansi_innovation_hub/mih_objects/access_request.dart'; +import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:supertokens_flutter/http.dart' as http; -import '../../../main.dart'; -import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart'; -import '../../../mih_components/mih_layout/mih_window.dart'; -import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart'; -import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart'; -import '../../../mih_components/mih_pop_up_messages/mih_warning_message.dart'; -import '../../../mih_env/env.dart'; -import '../../../mih_objects/access_request.dart'; -import '../../../mih_objects/app_user.dart'; - class BuildAccessRequestList extends StatefulWidget { final List accessRequests; final AppUser signedInUser; @@ -220,65 +219,67 @@ class _BuildPatientsListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Update Appointment Access", - windowBody: [ - const SizedBox( - height: 10, - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 10.0), - child: Text( - subtitle, - textAlign: TextAlign.left, - style: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - fontSize: popUpBodySize, - //fontWeight: FontWeight.bold, + windowBody: Column( + children: [ + const SizedBox( + height: 10, + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 10.0), + child: Text( + subtitle, + textAlign: TextAlign.left, + style: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + fontSize: popUpBodySize, + //fontWeight: FontWeight.bold, + ), ), ), - ), - Wrap( - runSpacing: 10, - spacing: 10, - children: [ - SizedBox( - width: popUpButtonWidth, - height: 50, - child: MIHButton( - onTap: () { - updateAccessAPICall(index, "declined"); - }, - buttonText: "Decline", - buttonColor: - MzanziInnovationHub.of(context)!.theme.errorColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + Wrap( + runSpacing: 10, + spacing: 10, + children: [ + SizedBox( + width: popUpButtonWidth, + height: 50, + child: MIHButton( + onTap: () { + updateAccessAPICall(index, "declined"); + }, + buttonText: "Decline", + buttonColor: + MzanziInnovationHub.of(context)!.theme.errorColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - SizedBox( - width: popUpButtonWidth, - height: 50, - child: MIHButton( - onTap: () { - updateAccessAPICall(index, "approved"); - }, - buttonText: "Approve", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + SizedBox( + width: popUpButtonWidth, + height: 50, + child: MIHButton( + onTap: () { + updateAccessAPICall(index, "approved"); + }, + buttonText: "Approve", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - ], - ), - const SizedBox( - height: 10, - ), - ], - windowTools: const [], + ], + ), + const SizedBox( + height: 10, + ), + ], + ), + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }), diff --git a/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart b/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart index 42fdad96..6fd9b9e8 100644 --- a/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart +++ b/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart @@ -1,15 +1,14 @@ import 'package:flutter/material.dart'; - -import '../../../main.dart'; -import '../../../mih_apis/mih_api_calls.dart'; -import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart'; -import '../../../mih_components/mih_layout/mih_window.dart'; -import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart'; -import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart'; -import '../../../mih_components/mih_pop_up_messages/mih_warning_message.dart'; -import '../../../mih_env/env.dart'; -import '../../../mih_objects/app_user.dart'; -import '../../../mih_objects/patient_access.dart'; +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_button.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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_components/mih_pop_up_messages/mih_warning_message.dart'; +import 'package:mzansi_innovation_hub/mih_env/env.dart'; +import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; +import 'package:mzansi_innovation_hub/mih_objects/patient_access.dart'; class BuildBusinessAccessList extends StatefulWidget { final List patientAccessList; @@ -216,217 +215,228 @@ class _BuildPatientsListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Profile Access", - windowBody: [ - const SizedBox( - height: 10, - ), - SizedBox( - width: 1000, - child: Text( - subtitle, - textAlign: TextAlign.left, - style: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - fontSize: popUpBodySize, - //fontWeight: FontWeight.bold, + windowBody: Column( + children: [ + const SizedBox( + height: 10, + ), + SizedBox( + width: 1000, + child: Text( + subtitle, + textAlign: TextAlign.left, + style: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + fontSize: popUpBodySize, + //fontWeight: FontWeight.bold, + ), ), ), - ), - const SizedBox(height: 20.0), - Visibility( - visible: widget.patientAccessList[index].status == 'pending', - child: Column( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text( - "Important Notice: Approving Profile Access", - style: TextStyle( - fontWeight: FontWeight.bold, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), + const SizedBox(height: 20.0), + Visibility( + visible: widget.patientAccessList[index].status == 'pending', + child: Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text( + "Important Notice: Approving Profile Access", + style: TextStyle( + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), + ), ), - ), - Text( - "You are about to accept access to your patient's profile. Please be aware of the following important points:", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - SizedBox( - width: 700, - child: Text( - "1. Permanent Access: Once you accepts this access request, it will become permanent.", + Text( + "You are about to accept access to your patient's profile. Please be aware of the following important points:", style: TextStyle( fontWeight: FontWeight.normal, color: MzanziInnovationHub.of(context)!.theme.errorColor(), ), ), - ), - SizedBox( - width: 700, - child: Text( - "2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.", + SizedBox( + width: 700, + child: Text( + "1. Permanent Access: Once you accepts this access request, it will become permanent.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: MzanziInnovationHub.of(context)! + .theme + .errorColor(), + ), + ), + ), + SizedBox( + width: 700, + child: Text( + "2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: MzanziInnovationHub.of(context)! + .theme + .errorColor(), + ), + ), + ), + SizedBox( + width: 700, + child: Text( + "3. Irreversible Access: Once granted, you cannot revoke access to your patient's profile.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: MzanziInnovationHub.of(context)! + .theme + .errorColor(), + ), + ), + ), + Text( + "By pressing the \"Approve\" button you accept the above terms.", style: TextStyle( - fontWeight: FontWeight.normal, + fontWeight: FontWeight.bold, color: MzanziInnovationHub.of(context)!.theme.errorColor(), ), ), - ), - SizedBox( - width: 700, - child: Text( - "3. Irreversible Access: Once granted, you cannot revoke access to your patient's profile.", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - ), - Text( - "By pressing the \"Approve\" button you accept the above terms.", - style: TextStyle( - fontWeight: FontWeight.bold, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - ], + ], + ), ), - ), - Visibility( - visible: widget.patientAccessList[index].status == 'approved', - child: Column( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text( - "Important Notice: Approved Profile Access", - style: TextStyle( - fontWeight: FontWeight.bold, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), + Visibility( + visible: widget.patientAccessList[index].status == 'approved', + child: Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text( + "Important Notice: Approved Profile Access", + style: TextStyle( + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), + ), ), - ), - Text( - "You have accepted access to your patient's profile. Please be aware of the following important points:", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - SizedBox( - width: 700, - child: Text( - "1. Permanent Access: This access is permanent.", + Text( + "You have accepted access to your patient's profile. Please be aware of the following important points:", style: TextStyle( fontWeight: FontWeight.normal, color: MzanziInnovationHub.of(context)!.theme.errorColor(), ), ), - ), - SizedBox( - width: 700, - child: Text( - "2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), + SizedBox( + width: 700, + child: Text( + "1. Permanent Access: This access is permanent.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: MzanziInnovationHub.of(context)! + .theme + .errorColor(), + ), ), ), - ), - SizedBox( - width: 700, - child: Text( - "3. Irreversible Access: You cannot revoke this access to your patient's profile.", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), + SizedBox( + width: 700, + child: Text( + "2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: MzanziInnovationHub.of(context)! + .theme + .errorColor(), + ), ), ), - ), - ], + SizedBox( + width: 700, + child: Text( + "3. Irreversible Access: You cannot revoke this access to your patient's profile.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: MzanziInnovationHub.of(context)! + .theme + .errorColor(), + ), + ), + ), + ], + ), ), - ), - const SizedBox(height: 20.0), - const SizedBox( - height: 20, - ), - Visibility( - visible: widget.patientAccessList[index].status == 'pending', - child: Wrap( - runSpacing: 10, - spacing: 10, - children: [ - SizedBox( - width: popUpButtonWidth, - height: 50, - child: MIHButton( - onTap: () { - print("request declined"); - MIHApiCalls.updatePatientAccessAPICall( - widget.patientAccessList[index].business_id, - widget.patientAccessList[index].requested_by, - widget.patientAccessList[index].app_id, - "declined", - "${widget.signedInUser.fname} ${widget.signedInUser.lname}", - widget.signedInUser, - context, - ); - //updateAccessAPICall(index, "declined"); - }, - buttonText: "Decline", - buttonColor: - MzanziInnovationHub.of(context)!.theme.errorColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - ), - SizedBox( - width: popUpButtonWidth, - height: 50, - child: MIHButton( - onTap: () { - print("request approved"); - MIHApiCalls.updatePatientAccessAPICall( - widget.patientAccessList[index].business_id, - widget.patientAccessList[index].requested_by, - widget.patientAccessList[index].app_id, - "approved", - "${widget.signedInUser.fname} ${widget.signedInUser.lname}", - widget.signedInUser, - context, - ); - //updateAccessAPICall(index, "approved"); - }, - buttonText: "Approve", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - ), - ], + const SizedBox(height: 20.0), + const SizedBox( + height: 20, ), - ), - const SizedBox( - height: 10, - ), - ], - windowTools: const [], + Visibility( + visible: widget.patientAccessList[index].status == 'pending', + child: Wrap( + runSpacing: 10, + spacing: 10, + children: [ + SizedBox( + width: popUpButtonWidth, + height: 50, + child: MIHButton( + onTap: () { + print("request declined"); + MIHApiCalls.updatePatientAccessAPICall( + widget.patientAccessList[index].business_id, + widget.patientAccessList[index].requested_by, + widget.patientAccessList[index].app_id, + "declined", + "${widget.signedInUser.fname} ${widget.signedInUser.lname}", + widget.signedInUser, + context, + ); + //updateAccessAPICall(index, "declined"); + }, + buttonText: "Decline", + buttonColor: + MzanziInnovationHub.of(context)!.theme.errorColor(), + textColor: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + ), + ), + SizedBox( + width: popUpButtonWidth, + height: 50, + child: MIHButton( + onTap: () { + print("request approved"); + MIHApiCalls.updatePatientAccessAPICall( + widget.patientAccessList[index].business_id, + widget.patientAccessList[index].requested_by, + widget.patientAccessList[index].app_id, + "approved", + "${widget.signedInUser.fname} ${widget.signedInUser.lname}", + widget.signedInUser, + context, + ); + //updateAccessAPICall(index, "approved"); + }, + buttonText: "Approve", + buttonColor: MzanziInnovationHub.of(context)! + .theme + .successColor(), + textColor: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + ), + ), + ], + ), + ), + const SizedBox( + height: 10, + ), + ], + ), + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }), 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 ce02555f..b7a60467 100644 --- a/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart +++ b/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart @@ -3,8 +3,8 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_ 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_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_components/mih_package_tool_body.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -116,107 +116,28 @@ class _TipCalcState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Calculation Results", onWindowTapClose: () { Navigator.pop(context); }, - windowTools: const [], - windowBody: [ - // FaIcon( - // FontAwesomeIcons.moneyBills, - // color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // size: 30, - // ), - // const Divider(), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - FaIcon( - FontAwesomeIcons.coins, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - size: 35, - ), - const SizedBox(width: 15), - Text( - "Tip", - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 25, - fontWeight: FontWeight.bold, - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ), - ], - ), - Text( - tip, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 30, - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ), - const Divider(), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - FaIcon( - FontAwesomeIcons.moneyBills, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - size: 35, - ), - const SizedBox(width: 15), - Text( - "Total", - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 25, - fontWeight: FontWeight.bold, - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ), - ], - ), - Text( - total, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 30, - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ), - Text( - "~ ${double.parse(total).ceil()}.00", - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 30, - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ), - const Divider(), - if (splitBillController.text == "Yes") + windowTools: null, + windowBody: Column( + children: [ Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ FaIcon( - FontAwesomeIcons.peopleGroup, + FontAwesomeIcons.coins, color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), size: 35, ), const SizedBox(width: 15), Text( - "Total per Person", + "Tip", textAlign: TextAlign.center, style: TextStyle( fontSize: 25, @@ -227,9 +148,8 @@ class _TipCalcState extends State { ), ], ), - if (splitBillController.text == "Yes") Text( - amountPerPerson, + tip, textAlign: TextAlign.center, style: TextStyle( fontSize: 30, @@ -237,9 +157,32 @@ class _TipCalcState extends State { color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), ), - if (splitBillController.text == "Yes") + const Divider(), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FaIcon( + FontAwesomeIcons.moneyBills, + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + size: 35, + ), + const SizedBox(width: 15), + Text( + "Total", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + ], + ), Text( - "~ ${double.parse(amountPerPerson).ceil()}.00", + total, textAlign: TextAlign.center, style: TextStyle( fontSize: 30, @@ -247,8 +190,66 @@ class _TipCalcState extends State { color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), ), - // if (splitBillController.text == "Yes") const Divider(), - ], + Text( + "~ ${double.parse(total).ceil()}.00", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 30, + fontWeight: FontWeight.bold, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + const Divider(), + if (splitBillController.text == "Yes") + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FaIcon( + FontAwesomeIcons.peopleGroup, + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + size: 35, + ), + const SizedBox(width: 15), + Text( + "Total per Person", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.bold, + color: MzanziInnovationHub.of(context)! + .theme + .secondaryColor(), + ), + ), + ], + ), + if (splitBillController.text == "Yes") + Text( + amountPerPerson, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 30, + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + if (splitBillController.text == "Yes") + Text( + "~ ${double.parse(amountPerPerson).ceil()}.00", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 30, + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + // if (splitBillController.text == "Yes") const Divider(), + ], + ), ), ); } diff --git a/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart b/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart index de26f6c1..8e7dd822 100644 --- a/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart +++ b/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart @@ -1,12 +1,12 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:supertokens_flutter/http.dart' as http; import '../../../main.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart'; -import '../../../mih_components/mih_layout/mih_window.dart'; import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart'; import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart'; import '../../../mih_components/mih_pop_up_messages/mih_warning_message.dart'; @@ -221,65 +221,67 @@ class _BuildPatientsListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Update Appointment Access", - windowBody: [ - const SizedBox( - height: 10, - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 10.0), - child: Text( - subtitle, - textAlign: TextAlign.left, - style: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - fontSize: popUpBodySize, - //fontWeight: FontWeight.bold, + windowBody: Column( + children: [ + const SizedBox( + height: 10, + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 10.0), + child: Text( + subtitle, + textAlign: TextAlign.left, + style: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + fontSize: popUpBodySize, + //fontWeight: FontWeight.bold, + ), ), ), - ), - Wrap( - runSpacing: 10, - spacing: 10, - children: [ - SizedBox( - width: popUpButtonWidth, - height: 50, - child: MIHButton( - onTap: () { - updateAccessAPICall(index, "declined"); - }, - buttonText: "Decline", - buttonColor: - MzanziInnovationHub.of(context)!.theme.errorColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + Wrap( + runSpacing: 10, + spacing: 10, + children: [ + SizedBox( + width: popUpButtonWidth, + height: 50, + child: MIHButton( + onTap: () { + updateAccessAPICall(index, "declined"); + }, + buttonText: "Decline", + buttonColor: + MzanziInnovationHub.of(context)!.theme.errorColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - SizedBox( - width: popUpButtonWidth, - height: 50, - child: MIHButton( - onTap: () { - updateAccessAPICall(index, "approved"); - }, - buttonText: "Approve", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + SizedBox( + width: popUpButtonWidth, + height: 50, + child: MIHButton( + onTap: () { + updateAccessAPICall(index, "approved"); + }, + buttonText: "Approve", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - ], - ), - const SizedBox( - height: 10, - ), - ], - windowTools: const [], + ], + ), + const SizedBox( + height: 10, + ), + ], + ), + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }), diff --git a/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart b/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart index 5c775aab..6c965876 100644 --- a/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart +++ b/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart @@ -1,3 +1,4 @@ +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_calendar_apis.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; @@ -5,7 +6,8 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_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_inputs_and_buttons/mih_time_input.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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_env/env.dart'; @@ -151,20 +153,61 @@ class _BuildAppointmentListState extends State { context: context, barrierDismissible: false, builder: (context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Appointment Details", - windowTools: [ - Visibility( - visible: canEditAppointment(index), - child: IconButton( - onPressed: () { - deleteAppointmentConfirmationWindow(index); - }, - icon: const Icon(Icons.delete), + windowTools: Visibility( + visible: canEditAppointment(index), + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.edit, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Edit Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + appointmentUpdateWindow(index); + }, + ), + SpeedDialChild( + child: Icon( + Icons.delete, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteAppointmentConfirmationWindow(index); + }, + ), + ], ), ), - ], + ), onWindowTapClose: () { Navigator.of(context).pop(); widget.dateController.clear(); @@ -172,79 +215,82 @@ class _BuildAppointmentListState extends State { widget.titleController.clear(); widget.descriptionIDController.clear(); }, - windowBody: [ - SizedBox( - // width: 500, - child: MIHTextField( - controller: widget.titleController, - hintText: "Title", - editable: false, - required: false, - ), - ), - const SizedBox(height: 10), - SizedBox( + windowBody: Column( + children: [ + const SizedBox(height: 10), + SizedBox( // width: 500, child: MIHTextField( - controller: widget.dateController, - hintText: "Date", - editable: false, - required: false, - )), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHTextField( - controller: widget.timeController, - hintText: "Time", - editable: false, - required: false, - )), - const SizedBox(height: 10), - SizedBox( - // width: 500, - height: 250, - child: MIHMLTextField( - controller: widget.descriptionIDController, - hintText: "Description", - editable: false, - required: false, - ), - ), - const SizedBox(height: 20), - Visibility( - visible: canEditAppointment(index), - child: SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - appointmentUpdateWindow(index); - }, - buttonText: "Edit", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + controller: widget.titleController, + hintText: "Title", + editable: false, + required: false, ), ), - ), - // SizedBox( - // width: 500, - // height: 50, - // child: MIHButton( - // onTap: () { - // addAppointmentCall(); - // checkforchange(); - // }, - // buttonText: "Add", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.successColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ), - ], + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTextField( + controller: widget.dateController, + hintText: "Date", + editable: false, + required: false, + )), + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTextField( + controller: widget.timeController, + hintText: "Time", + editable: false, + required: false, + )), + const SizedBox(height: 10), + SizedBox( + // width: 500, + height: 250, + child: MIHMLTextField( + controller: widget.descriptionIDController, + hintText: "Description", + editable: false, + required: false, + ), + ), + const SizedBox(height: 10), + // Visibility( + // visible: canEditAppointment(index), + // child: SizedBox( + // width: 500, + // height: 50, + // child: MIHButton( + // onTap: () { + // appointmentUpdateWindow(index); + // }, + // buttonText: "Edit", + // buttonColor: + // MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // textColor: + // MzanziInnovationHub.of(context)!.theme.primaryColor(), + // ), + // ), + // ), + // SizedBox( + // width: 500, + // height: 50, + // child: MIHButton( + // onTap: () { + // addAppointmentCall(); + // checkforchange(); + // }, + // buttonText: "Add", + // buttonColor: + // MzanziInnovationHub.of(context)!.theme.successColor(), + // textColor: + // MzanziInnovationHub.of(context)!.theme.primaryColor(), + // ), + // ), + ], + ), ); }, ); @@ -255,20 +301,61 @@ class _BuildAppointmentListState extends State { context: context, barrierDismissible: false, builder: (context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Appointment Details", - windowTools: [ - Visibility( - visible: canEditAppointment(index), - child: IconButton( - onPressed: () { - deleteAppointmentConfirmationWindow(index); - }, - icon: const Icon(Icons.delete), + windowTools: Visibility( + visible: canEditAppointment(index), + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.edit, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Edit Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + appointmentUpdateWindow(index); + }, + ), + SpeedDialChild( + child: Icon( + Icons.delete, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteAppointmentConfirmationWindow(index); + }, + ), + ], ), ), - ], + ), onWindowTapClose: () { Navigator.of(context).pop(); widget.dateController.clear(); @@ -276,89 +363,91 @@ class _BuildAppointmentListState extends State { widget.titleController.clear(); widget.descriptionIDController.clear(); }, - windowBody: [ - SizedBox( - // width: 500, - child: MIHTextField( - controller: widget.titleController, - hintText: "Title", - editable: false, - required: false, - ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHTextField( - controller: widget.titleController, - hintText: "Patient ID Number", - editable: false, - required: false, - ), - ), - const SizedBox(height: 10), - SizedBox( + windowBody: Column( + children: [ + SizedBox( // width: 500, child: MIHTextField( - controller: widget.dateController, - hintText: "Date", - editable: false, - required: false, - )), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHTextField( - controller: widget.timeController, - hintText: "Time", - editable: false, - required: false, - )), - const SizedBox(height: 10), - SizedBox( - // width: 500, - height: 250, - child: MIHMLTextField( - controller: widget.descriptionIDController, - hintText: "Description", - editable: false, - required: false, - ), - ), - const SizedBox(height: 20), - Visibility( - visible: canEditAppointment(index), - child: SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - appointmentUpdateWindow(index); - }, - buttonText: "Edit", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + controller: widget.titleController, + hintText: "Title", + editable: false, + required: false, ), ), - ), - // SizedBox( - // width: 500, - // height: 50, - // child: MIHButton( - // onTap: () { - // addAppointmentCall(); - // checkforchange(); - // }, - // buttonText: "Add", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.successColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ), - ], + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTextField( + controller: widget.titleController, + hintText: "Patient ID Number", + editable: false, + required: false, + ), + ), + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTextField( + controller: widget.dateController, + hintText: "Date", + editable: false, + required: false, + )), + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTextField( + controller: widget.timeController, + hintText: "Time", + editable: false, + required: false, + )), + const SizedBox(height: 10), + SizedBox( + // width: 500, + height: 250, + child: MIHMLTextField( + controller: widget.descriptionIDController, + hintText: "Description", + editable: false, + required: false, + ), + ), + const SizedBox(height: 20), + // Visibility( + // visible: canEditAppointment(index), + // child: SizedBox( + // width: 500, + // height: 50, + // child: MIHButton( + // onTap: () { + // appointmentUpdateWindow(index); + // }, + // buttonText: "Edit", + // buttonColor: + // MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // textColor: + // MzanziInnovationHub.of(context)!.theme.primaryColor(), + // ), + // ), + // ), + // SizedBox( + // width: 500, + // height: 50, + // child: MIHButton( + // onTap: () { + // addAppointmentCall(); + // checkforchange(); + // }, + // buttonText: "Add", + // buttonColor: + // MzanziInnovationHub.of(context)!.theme.successColor(), + // textColor: + // MzanziInnovationHub.of(context)!.theme.primaryColor(), + // ), + // ), + ], + ), ); }, ); @@ -369,10 +458,10 @@ class _BuildAppointmentListState extends State { context: context, barrierDismissible: false, builder: (context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Update Appointment", - windowTools: [], + windowTools: null, onWindowTapClose: () { setState(() { widget.titleController.text = widget.appointmentList[index].title; @@ -387,95 +476,70 @@ class _BuildAppointmentListState extends State { }); Navigator.of(context).pop(); }, - windowBody: [ - SizedBox( - // width: 500, - child: MIHTextField( - controller: widget.titleController, - hintText: "Title", - editable: true, - required: true, - ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHDateField( - controller: widget.dateController, - lableText: "Date", - required: true, - ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHTimeField( - controller: widget.timeController, - lableText: "Time", - required: true, - ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - height: 250, - child: MIHMLTextField( - controller: widget.descriptionIDController, - hintText: "Description", - editable: true, - required: true, - ), - ), - const SizedBox(height: 20), - Wrap( - alignment: WrapAlignment.center, - runSpacing: 10, - spacing: 10, - children: [ - SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - updateAppointmentCall(index); - }, - buttonText: "Update", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + windowBody: Column( + children: [ + SizedBox( + // width: 500, + child: MIHTextField( + controller: widget.titleController, + hintText: "Title", + editable: true, + required: true, ), - // SizedBox( - // width: 500, - // height: 50, - // child: MIHButton( - // onTap: () { - // setState(() { - // widget.titleController.text = - // widget.appointmentList[index].title; - // widget.descriptionIDController.text = - // widget.appointmentList[index].description; - // widget.dateController.text = widget - // .appointmentList[index].date_time - // .split('T')[0]; - // widget.timeController.text = widget - // .appointmentList[index].date_time - // .split('T')[1] - // .substring(0, 5); - // }); - // Navigator.of(context).pop(); - // }, - // buttonText: "Cancel", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.errorColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ), - ], - ) - ], + ), + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHDateField( + controller: widget.dateController, + lableText: "Date", + required: true, + ), + ), + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTimeField( + controller: widget.timeController, + lableText: "Time", + required: true, + ), + ), + const SizedBox(height: 10), + SizedBox( + // width: 500, + height: 250, + child: MIHMLTextField( + controller: widget.descriptionIDController, + hintText: "Description", + editable: true, + required: true, + ), + ), + const SizedBox(height: 20), + Wrap( + alignment: WrapAlignment.center, + runSpacing: 10, + spacing: 10, + children: [ + SizedBox( + width: 500, + height: 50, + child: MIHButton( + onTap: () { + updateAppointmentCall(index); + }, + buttonText: "Update", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + ), + ], + ) + ], + ), ); }, ); diff --git a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart b/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart index 007dde95..418936e2 100644 --- a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart +++ b/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart @@ -6,9 +6,9 @@ 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_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_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -101,10 +101,10 @@ class _PatientAccessRequestState extends State { context: context, barrierDismissible: false, builder: (context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Add Appointment", - windowTools: [], + windowTools: null, onWindowTapClose: () { Navigator.of(context).pop(); _appointmentDateController.clear(); @@ -112,61 +112,63 @@ class _PatientAccessRequestState extends State { _appointmentTitleController.clear(); _appointmentDescriptionIDController.clear(); }, - windowBody: [ - SizedBox( - // width: 500, - child: MIHTextField( - controller: _appointmentTitleController, - hintText: "Title", - editable: true, - required: true, + windowBody: Column( + children: [ + SizedBox( + // width: 500, + child: MIHTextField( + controller: _appointmentTitleController, + hintText: "Title", + editable: true, + required: true, + ), ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHDateField( - controller: _appointmentDateController, - lableText: "Date", - required: true, + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHDateField( + controller: _appointmentDateController, + lableText: "Date", + required: true, + ), ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHTimeField( - controller: _appointmentTimeController, - lableText: "Time", - required: true, + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTimeField( + controller: _appointmentTimeController, + lableText: "Time", + required: true, + ), ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - height: 250, - child: MIHMLTextField( - controller: _appointmentDescriptionIDController, - hintText: "Description", - editable: true, - required: true, + const SizedBox(height: 10), + SizedBox( + // width: 500, + height: 250, + child: MIHMLTextField( + controller: _appointmentDescriptionIDController, + hintText: "Description", + editable: true, + required: true, + ), ), - ), - const SizedBox(height: 20), - SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - addAppointmentCall(); - }, - buttonText: "Add", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + const SizedBox(height: 20), + SizedBox( + width: 500, + height: 50, + child: MIHButton( + onTap: () { + addAppointmentCall(); + }, + buttonText: "Add", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - ], + ], + ), ); }, ); diff --git a/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart b/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart index 20dab3ff..5074653b 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart @@ -2,6 +2,9 @@ import 'dart:async'; import 'dart:convert'; // import 'dart:convert'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_objects/patients.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -21,7 +24,6 @@ import '../../mih_components/mih_layout/mih_header.dart'; import '../../mih_components/mih_layout/mih_layout_builder.dart'; import '../../mih_components/mih_layout/mih_notification_drawer.dart'; import '../../mih_components/mih_layout/mih_tile.dart'; -import '../../mih_components/mih_layout/mih_window.dart'; import '../../mih_components/mih_pop_up_messages/mih_delete_message.dart'; import '../../mih_components/mih_pop_up_messages/mih_error_message.dart'; import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart'; @@ -844,41 +846,70 @@ class _MIHHomeLegacyState extends State { // return const MIHErrorMessage(errorType: "User Exists"); // return const MIHErrorMessage(errorType: "Password Match"); // return const MIHErrorMessage(errorType: "Invalid Credentials"); - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Test Window title that is too large for mobile devices", - windowBody: const [ - SizedBox( - height: 250, - ) - ], - windowTools: [ - IconButton( - onPressed: () { - //deleteFilePopUp(filePath, fileID); - }, - icon: Icon( - Icons.delete, - size: 35, - color: MzanziInnovationHub.of(context)! - .theme - .secondaryColor(), - ), + windowBody: const Column( + children: [ + SizedBox( + height: 250, + ) + ], + ), + windowTools: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + ), + label: "Wallet?", + labelBackgroundColor: MzanziInnovationHub.of(context)! + .theme + .successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: MzanziInnovationHub.of(context)! + .theme + .successColor(), + onTap: () {}, + ), + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + ), + label: "Delete File", + labelBackgroundColor: MzanziInnovationHub.of(context)! + .theme + .successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: MzanziInnovationHub.of(context)! + .theme + .successColor(), + onTap: () {}, + ), + ], ), - IconButton( - onPressed: () { - //deleteFilePopUp(filePath, fileID); - }, - icon: Icon( - Icons.wallet, - size: 35, - color: MzanziInnovationHub.of(context)! - .theme - .secondaryColor(), - ), - ), - ], + ), onWindowTapClose: () { Navigator.pop(context); }, 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 0557750d..8755e035 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,10 +1,12 @@ import 'dart:convert'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_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_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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'; @@ -149,80 +151,99 @@ class _BuildEmployeeListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Employee Details", - windowTools: [ - IconButton( - onPressed: () { - showDeleteWarning(index); - }, - icon: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - size: 35, - ), + windowTools: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Employee", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + showDeleteWarning(index); + }, + ), + ], ), - ], + ), onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: fnameController, - hintText: "First Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Surname", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: typeController, - hintText: "Title", - dropdownOptions: const ["Doctor", "Assistant"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: accessController, - hintText: "Access", - dropdownOptions: const ["Full", "Partial"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 15.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Update", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - if (isRequiredFieldsCaptured()) { - updateEmployeeAPICall(index); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } - }, + windowBody: Column( + children: [ + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "First Name", + editable: false, + required: true, ), - ) - ], + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Surname", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: typeController, + hintText: "Title", + dropdownOptions: const ["Doctor", "Assistant"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: accessController, + hintText: "Access", + dropdownOptions: const ["Full", "Partial"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 15.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Update", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + if (isRequiredFieldsCaptured()) { + updateEmployeeAPICall(index); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, + ), + ) + ], + ), ), ); } 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 3a8aa5c5..d363db8b 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 @@ -4,7 +4,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_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_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -124,70 +124,72 @@ class _BuildUserListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Add Employee", - windowBody: [ - const SizedBox(height: 10.0), - MIHTextField( - controller: fnameController, - hintText: "Username Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Email", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: typeController, - hintText: "Title", - dropdownOptions: const ["Doctor", "Assistant"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: accessController, - hintText: "Access", - dropdownOptions: const ["Full", "Partial"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 15.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Add", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - if (isRequiredFieldsCaptured()) { - createBusinessUserAPICall(index); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage( - errorType: "Input Error"); - }, - ); - } - }, + windowBody: Column( + children: [ + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "Username Name", + editable: false, + required: true, ), - ), - const SizedBox(height: 10.0), - ], - windowTools: [], + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Email", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: typeController, + hintText: "Title", + dropdownOptions: const ["Doctor", "Assistant"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: accessController, + hintText: "Access", + dropdownOptions: const ["Full", "Partial"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 15.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Add", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + if (isRequiredFieldsCaptured()) { + createBusinessUserAPICall(index); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage( + errorType: "Input Error"); + }, + ); + } + }, + ), + ), + const SizedBox(height: 10.0), + ], + ), + windowTools: null, onWindowTapClose: () { Navigator.pop(context); })); diff --git a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart index 8154b030..5e5382dc 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart @@ -1,13 +1,15 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:supertokens_flutter/http.dart' as http; import '../../../../main.dart'; import '../../../../mih_components/mih_inputs_and_buttons/mih_button.dart'; import '../../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import '../../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart'; -import '../../../../mih_components/mih_layout/mih_window.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_delete_message.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_error_message.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart'; @@ -150,80 +152,99 @@ class _BuildEmployeeListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Employee Details", - windowTools: [ - IconButton( - onPressed: () { - showDeleteWarning(index); - }, - icon: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - size: 35, - ), + windowTools: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Employee", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + showDeleteWarning(index); + }, + ), + ], ), - ], + ), onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: fnameController, - hintText: "First Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Surname", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: typeController, - hintText: "Title", - dropdownOptions: const ["Doctor", "Assistant"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: accessController, - hintText: "Access", - dropdownOptions: const ["Full", "Partial"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 15.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Update", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - if (isRequiredFieldsCaptured()) { - updateEmployeeAPICall(index); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } - }, + windowBody: Column( + children: [ + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "First Name", + editable: false, + required: true, ), - ) - ], + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Surname", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: typeController, + hintText: "Title", + dropdownOptions: const ["Doctor", "Assistant"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: accessController, + hintText: "Access", + dropdownOptions: const ["Full", "Partial"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 15.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Update", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + if (isRequiredFieldsCaptured()) { + updateEmployeeAPICall(index); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, + ), + ) + ], + ), ), ); // showDialog( diff --git a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart index a13c5d2f..79df1e59 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart @@ -1,13 +1,13 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:supertokens_flutter/http.dart' as http; import '../../../../main.dart'; import '../../../../mih_components/mih_inputs_and_buttons/mih_button.dart'; import '../../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import '../../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart'; -import '../../../../mih_components/mih_layout/mih_window.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_error_message.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_success_message.dart'; @@ -125,70 +125,72 @@ class _BuildUserListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Add Employee", - windowBody: [ - const SizedBox(height: 10.0), - MIHTextField( - controller: fnameController, - hintText: "Username Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Email", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: typeController, - hintText: "Title", - dropdownOptions: const ["Doctor", "Assistant"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 10.0), - MIHDropdownField( - controller: accessController, - hintText: "Access", - dropdownOptions: const ["Full", "Partial"], - required: true, - editable: true, - enableSearch: false, - ), - const SizedBox(height: 15.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Add", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - if (isRequiredFieldsCaptured()) { - createBusinessUserAPICall(index); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage( - errorType: "Input Error"); - }, - ); - } - }, + windowBody: Column( + children: [ + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "Username Name", + editable: false, + required: true, ), - ), - const SizedBox(height: 10.0), - ], - windowTools: [], + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Email", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: typeController, + hintText: "Title", + dropdownOptions: const ["Doctor", "Assistant"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 10.0), + MIHDropdownField( + controller: accessController, + hintText: "Access", + dropdownOptions: const ["Full", "Partial"], + required: true, + editable: true, + enableSearch: false, + ), + const SizedBox(height: 15.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Add", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + if (isRequiredFieldsCaptured()) { + createBusinessUserAPICall(index); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage( + errorType: "Input Error"); + }, + ); + } + }, + ), + ), + const SizedBox(height: 10.0), + ], + ), + windowTools: null, onWindowTapClose: () { Navigator.pop(context); })); diff --git a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart index 3b4a503e..b2db3dc9 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart @@ -4,7 +4,6 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_wallet_apis.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_number_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_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; @@ -50,85 +49,86 @@ class _BuildLoyaltyCardListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Edit Loyalty Card", - windowTools: const [ - SizedBox(width: 35), - ], + windowTools: null, onWindowTapClose: () { _cardNumberController.clear(); _nicknameController.clear(); Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: _nicknameController, - hintText: "Card Title", - editable: true, - required: false, - ), - const SizedBox(height: 10), - Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisSize: MainAxisSize.max, - children: [ - Flexible( - child: MIHNumberField( - controller: _cardNumberController, - hintText: "Card Number", - editable: true, - required: true, - enableDecimal: false, + windowBody: Column( + children: [ + MIHTextField( + controller: _nicknameController, + hintText: "Card Title", + editable: true, + required: false, + ), + const SizedBox(height: 10), + Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Flexible( + child: MIHNumberField( + controller: _cardNumberController, + hintText: "Card Number", + editable: true, + required: true, + enableDecimal: false, + ), ), - ), - const SizedBox(width: 10), - MIHButton( - onTap: () async { - openscanner(); + const SizedBox(width: 10), + MIHButton( + onTap: () async { + openscanner(); + }, + buttonText: "Scan", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + ], + ), + const SizedBox(height: 15), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + onTap: () { + if (_cardNumberController.text == "") { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } else { + MIHMzansiWalletApis.updateLoyaltyCardAPICall( + widget.signedInUser, + widget.cardList[index].idloyalty_cards, + widget.cardList[index].favourite, + widget.cardList[index].priority_index, + _nicknameController.text, + _cardNumberController.text, + 0, + ctxt, + ); + } }, - buttonText: "Scan", + buttonText: "Update", buttonColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), ), - ], - ), - const SizedBox(height: 15), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - onTap: () { - if (_cardNumberController.text == "") { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } else { - MIHMzansiWalletApis.updateLoyaltyCardAPICall( - widget.signedInUser, - widget.cardList[index].idloyalty_cards, - widget.cardList[index].favourite, - widget.cardList[index].priority_index, - _nicknameController.text, - _cardNumberController.text, - 0, - ctxt, - ); - } - }, - buttonText: "Update", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), ), - ), - ], + ], + ), ), ); } @@ -279,98 +279,88 @@ class _BuildLoyaltyCardListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: widget.cardList[index].shop_name.toUpperCase(), - windowTools: Row( - children: [ - Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( - child: widget.cardList[index].favourite == "" - ? Icon( - Icons.favorite, - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - ) - : Icon( - Icons.favorite_border, - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - ), - label: widget.cardList[index].favourite == "" - ? "Add to Favourite" - : "Remove from Favourite", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - if (widget.cardList[index].favourite == "") { - addToFavCardWindow(context, index); - } else { - removeFromFavCardWindow(context, index); - } - }, - ), - SpeedDialChild( - child: Icon( - Icons.edit, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Edit Card Details", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - setState(() { - _cardNumberController.text = - widget.cardList[index].card_number; - _nicknameController.text = - widget.cardList[index].nickname; - }); - editCardWindow(context, index); - }, - ), - SpeedDialChild( - child: Icon( - Icons.delete, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Card", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - deleteCardWindow(context, index); - }, - ), - ], + windowTools: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: widget.cardList[index].favourite == "" + ? Icon( + Icons.favorite, + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + ) + : Icon( + Icons.favorite_border, + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + ), + label: widget.cardList[index].favourite == "" + ? "Add to Favourite" + : "Remove from Favourite", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + if (widget.cardList[index].favourite == "") { + addToFavCardWindow(context, index); + } else { + removeFromFavCardWindow(context, index); + } + }, ), - ), - ], + SpeedDialChild( + child: Icon( + Icons.edit, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Edit Card Details", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + setState(() { + _cardNumberController.text = + widget.cardList[index].card_number; + _nicknameController.text = widget.cardList[index].nickname; + }); + editCardWindow(context, index); + }, + ), + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Card", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteCardWindow(context, index); + }, + ), + ], + ), ), onWindowTapClose: () { Navigator.pop(context); 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 49e9da12..75ebb991 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 @@ -7,9 +7,9 @@ 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_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_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -81,21 +81,10 @@ class _MihCardsState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Add New Loyalty Card", - windowTools: const [ - SizedBox(width: 35), - // IconButton( - // onPressed: () { - // //Delete card API Call - // }, - // icon: Icon( - // Icons.delete, - // color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // ), - // ), - ], + windowTools: null, onWindowTapClose: () { shopController.clear(); cardNumberController.clear(); @@ -103,145 +92,148 @@ class _MihCardsState extends State { shopName.value = ""; Navigator.pop(context); }, - windowBody: [ - MIHDropdownField( - controller: shopController, - hintText: "Shop Name", - dropdownOptions: const [ - "+More", - "Apple Tree", - "Auchan", - "Best Before", - "Big Save", - "Boxer", - "BP", - "Builders Warehouse", - "Checkers", - "Choppies", - "Clicks", - "Continente", - "Cotton:On", - "Carrefour", - "Dis-Chem", - "Edgars", - "Eskom", - "Exclusive Books", - "Fresh Stop", - "Fresmart", - "Infinity", - "Jet", - "Justrite", - "Kero", - "Leroy Merlin", - "Makro", - "Naivas", - "OK Foods", - "Panarottis", - "Pick n Pay", - "PnA", - "PQ Clothing", - "Rage", - "Sefalana", - "Sasol", - "Shell", - "Shoprite", - "Signature Cosmetics & Fragrances", - "Spar", - "Spur", - "TFG Group", - "Toys R Us", - "Woermann Brock", - "Woolworths" - ], - required: true, - editable: true, - enableSearch: false, - ), - ValueListenableBuilder( - valueListenable: shopName, - builder: (BuildContext context, String value, Widget? child) { - return Visibility( - visible: value != "", - child: Column( - children: [ - const SizedBox(height: 10), - MihCardDisplay( - shopName: shopName.value, nickname: "", height: 200), - ], + windowBody: Column( + children: [ + MIHDropdownField( + controller: shopController, + hintText: "Shop Name", + dropdownOptions: const [ + "+More", + "Apple Tree", + "Auchan", + "Best Before", + "Big Save", + "Boxer", + "BP", + "Builders Warehouse", + "Checkers", + "Choppies", + "Clicks", + "Continente", + "Cotton:On", + "Carrefour", + "Dis-Chem", + "Edgars", + "Eskom", + "Exclusive Books", + "Fresh Stop", + "Fresmart", + "Infinity", + "Jet", + "Justrite", + "Kero", + "Leroy Merlin", + "Makro", + "Naivas", + "OK Foods", + "Panarottis", + "Pick n Pay", + "PnA", + "PQ Clothing", + "Rage", + "Sefalana", + "Sasol", + "Shell", + "Shoprite", + "Signature Cosmetics & Fragrances", + "Spar", + "Spur", + "TFG Group", + "Toys R Us", + "Woermann Brock", + "Woolworths" + ], + required: true, + editable: true, + enableSearch: false, + ), + ValueListenableBuilder( + valueListenable: shopName, + builder: (BuildContext context, String value, Widget? child) { + return Visibility( + visible: value != "", + child: Column( + children: [ + const SizedBox(height: 10), + MihCardDisplay( + shopName: shopName.value, nickname: "", height: 200), + ], + ), + ); + }, + ), + const SizedBox(height: 10), + MIHTextField( + controller: _nicknameController, + hintText: "Card Title", + editable: true, + required: false, + ), + const SizedBox(height: 10), + Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Flexible( + child: MIHNumberField( + controller: cardNumberController, + hintText: "Card Number", + editable: true, + required: true, + enableDecimal: false, + ), ), - ); - }, - ), - const SizedBox(height: 10), - MIHTextField( - controller: _nicknameController, - hintText: "Card Title", - editable: true, - required: false, - ), - const SizedBox(height: 10), - Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisSize: MainAxisSize.max, - children: [ - Flexible( - child: MIHNumberField( - controller: cardNumberController, - hintText: "Card Number", - editable: true, - required: true, - enableDecimal: false, + const SizedBox(width: 10), + MIHButton( + onTap: () async { + openscanner(); + }, + buttonText: "Scan", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), ), - ), - const SizedBox(width: 10), - MIHButton( - onTap: () async { - openscanner(); + ], + ), + const SizedBox(height: 15), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + onTap: () { + if (shopController.text == "" || + cardNumberController.text == "") { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } else { + MIHMzansiWalletApis.addLoyaltyCardAPICall( + widget.signedInUser, + widget.signedInUser.app_id, + shopController.text, + cardNumberController.text, + "", + 0, + _nicknameController.text, + 0, + context, + ); + } }, - buttonText: "Scan", + buttonText: "Add", buttonColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), ), - ], - ), - const SizedBox(height: 15), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - onTap: () { - if (shopController.text == "" || - cardNumberController.text == "") { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } else { - MIHMzansiWalletApis.addLoyaltyCardAPICall( - widget.signedInUser, - widget.signedInUser.app_id, - shopController.text, - cardNumberController.text, - "", - 0, - _nicknameController.text, - 0, - context, - ); - } - }, - buttonText: "Add", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), ), - ), - ], + ], + ), ), ); } diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.dart index 28cf9946..a0bc7fd1 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.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_date_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_inputs_and_buttons/mih_time_input.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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_components/mih_pop_up_messages/mih_warning_message.dart'; @@ -167,75 +167,78 @@ class _BuildPatientsListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Appointment", - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: idController, - hintText: "ID No.", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: fnameController, - hintText: "First Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Surname", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHDateField( - controller: dateController, - lableText: "Date", - required: true, - ), - const SizedBox(height: 10.0), - MIHTimeField( - controller: timeController, - lableText: "Time", - required: true, - ), - const SizedBox(height: 30.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Book", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - //print("here1"); - bool filled = isAppointmentFieldsFilled(); - //print("fields filled: $filled"); - if (filled) { - //print("here2"); - submitApointment(index); - //print("here3"); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } - }, + windowBody: Column( + children: [ + MIHTextField( + controller: idController, + hintText: "ID No.", + editable: false, + required: true, ), - ) - ], + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "First Name", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Surname", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHDateField( + controller: dateController, + lableText: "Date", + required: true, + ), + const SizedBox(height: 10.0), + MIHTimeField( + controller: timeController, + lableText: "Time", + required: true, + ), + const SizedBox(height: 30.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Book", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + //print("here1"); + bool filled = isAppointmentFieldsFilled(); + //print("fields filled: $filled"); + if (filled) { + //print("here2"); + submitApointment(index); + //print("here3"); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, + ), + ) + ], + ), ), ); } @@ -321,226 +324,231 @@ class _BuildPatientsListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Profile", - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: idController, - hintText: "ID No.", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: fnameController, - hintText: "First Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Surname", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: accessStatusController, - hintText: "Access Status", - editable: false, - required: true, - ), - const SizedBox(height: 20.0), - Visibility( - visible: !hasAccess, - child: Column( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text( - "Important Notice: Requesting Patient Profile Access", - style: TextStyle( - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - Text( - "You are about to request access to a patient's profile. Please be aware of the following important points:", - style: TextStyle( - fontWeight: FontWeight.normal, - color: MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - SizedBox( - width: 600, - child: Text( - "1. Permanent Access: Once the patient accepts your access request, it will become permanent.", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - ), - SizedBox( - width: 600, - child: Text( - "2. Shared Information: Any updates you make to the patient's profile will be visible to others who have access to the profile.", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - ), - SizedBox( - width: 600, - child: Text( - "3. Irreversible Access: Once granted, you cannot revoke your access to the patient's profile.", - style: TextStyle( - fontWeight: FontWeight.normal, - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - ), - Text( - "By pressing the \"Request Access\" button you accept the above terms.\n", - style: TextStyle( - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)!.theme.errorColor(), - ), - ), - ], + windowBody: Column( + children: [ + MIHTextField( + controller: idController, + hintText: "ID No.", + editable: false, + required: true, ), - ), - // const SizedBox(height: 15.0), - Wrap(runSpacing: 10, spacing: 10, children: [ - // Visibility( - // visible: hasAccess, - // child: SizedBox( - // width: 300, - // height: 50, - // child: MIHButton( - // buttonText: "Book Appointment", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // onTap: () { - // if (hasAccess) { - // appointmentPopUp(index); - // } else { - // noAccessWarning(); - // } - // }, - // ), - // ), - // ), - Visibility( - visible: hasAccess, - child: SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "View Patient Profile", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - if (hasAccess) { - Navigator.of(context) - .pushNamed('/patient-manager/patient', - arguments: PatientViewArguments( - widget.signedInUser, - widget.patients[index], - widget.businessUser, - widget.business, - "business", - )); - } else { - noAccessWarning(); - } - }, - ), - ), + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "First Name", + editable: false, + required: true, ), + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Surname", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: accessStatusController, + hintText: "Access Status", + editable: false, + required: true, + ), + const SizedBox(height: 20.0), Visibility( - visible: !hasAccess && accessStatus == "No Access", - child: SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Request Access", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - //print("Send access Request..."); - MIHApiCalls.addPatientAccessAPICall( - widget.business!.business_id, - widget.patients[index].app_id, - "patient", - widget.business!.Name, - widget.personalSelected, - BusinessArguments( - widget.signedInUser, - widget.businessUser, - widget.business, + visible: !hasAccess, + child: Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text( + "Important Notice: Requesting Patient Profile Access", + style: TextStyle( + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), + ), + ), + Text( + "You are about to request access to a patient's profile. Please be aware of the following important points:", + style: TextStyle( + fontWeight: FontWeight.normal, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), + ), + ), + SizedBox( + width: 600, + child: Text( + "1. Permanent Access: Once the patient accepts your access request, it will become permanent.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), ), - context, - ); - }, - ), - ), - ), - Visibility( - visible: !hasAccess && accessStatus == "declined", - child: SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Re-apply", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - // print("Send rewaply access Request..."); - MIHApiCalls.reapplyPatientAccessAPICall( - widget.business!.business_id, - widget.patients[index].app_id, - widget.personalSelected, - BusinessArguments( - widget.signedInUser, - widget.businessUser, - widget.business, + ), + ), + SizedBox( + width: 600, + child: Text( + "2. Shared Information: Any updates you make to the patient's profile will be visible to others who have access to the profile.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), ), - context, - ); - }, + ), + ), + SizedBox( + width: 600, + child: Text( + "3. Irreversible Access: Once granted, you cannot revoke your access to the patient's profile.", + style: TextStyle( + fontWeight: FontWeight.normal, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), + ), + ), + ), + Text( + "By pressing the \"Request Access\" button you accept the above terms.\n", + style: TextStyle( + fontWeight: FontWeight.bold, + color: + MzanziInnovationHub.of(context)!.theme.errorColor(), + ), + ), + ], + ), + ), + // const SizedBox(height: 15.0), + Wrap(runSpacing: 10, spacing: 10, children: [ + // Visibility( + // visible: hasAccess, + // child: SizedBox( + // width: 300, + // height: 50, + // child: MIHButton( + // buttonText: "Book Appointment", + // buttonColor: + // MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // textColor: + // MzanziInnovationHub.of(context)!.theme.primaryColor(), + // onTap: () { + // if (hasAccess) { + // appointmentPopUp(index); + // } else { + // noAccessWarning(); + // } + // }, + // ), + // ), + // ), + Visibility( + visible: hasAccess, + child: SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "View Patient Profile", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + if (hasAccess) { + Navigator.of(context) + .pushNamed('/patient-manager/patient', + arguments: PatientViewArguments( + widget.signedInUser, + widget.patients[index], + widget.businessUser, + widget.business, + "business", + )); + } else { + noAccessWarning(); + } + }, + ), ), ), - ), - Visibility( - visible: !hasAccess && accessStatus == "pending", - child: const SizedBox( - width: 500, - //height: 50, - child: Text( - "Patient has not approved access to their profile. Once access has been approved you can book and appointment or view their profile."), + Visibility( + visible: !hasAccess && accessStatus == "No Access", + child: SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Request Access", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + //print("Send access Request..."); + MIHApiCalls.addPatientAccessAPICall( + widget.business!.business_id, + widget.patients[index].app_id, + "patient", + widget.business!.Name, + widget.personalSelected, + BusinessArguments( + widget.signedInUser, + widget.businessUser, + widget.business, + ), + context, + ); + }, + ), + ), ), - ), - ]) - ], + Visibility( + visible: !hasAccess && accessStatus == "declined", + child: SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Re-apply", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + // print("Send rewaply access Request..."); + MIHApiCalls.reapplyPatientAccessAPICall( + widget.business!.business_id, + widget.patients[index].app_id, + widget.personalSelected, + BusinessArguments( + widget.signedInUser, + widget.businessUser, + widget.business, + ), + context, + ); + }, + ), + ), + ), + Visibility( + visible: !hasAccess && accessStatus == "pending", + child: const SizedBox( + width: 500, + //height: 50, + child: Text( + "Patient has not approved access to their profile. Once access has been approved you can book and appointment or view their profile."), + ), + ), + ]) + ], + ), ), ); } diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.dart index 023a2632..939cf62a 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.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_date_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_inputs_and_buttons/mih_time_input.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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_warning_message.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart'; @@ -100,75 +100,78 @@ class _BuildPatientsListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Appointment", - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: idController, - hintText: "ID No.", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: fnameController, - hintText: "First Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Surname", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHDateField( - controller: dateController, - lableText: "Date", - required: true, - ), - const SizedBox(height: 10.0), - MIHTimeField( - controller: timeController, - lableText: "Time", - required: true, - ), - const SizedBox(height: 30.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Book", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - //print("here1"); - bool filled = isAppointmentFieldsFilled(); - //print("fields filled: $filled"); - if (filled) { - //print("here2"); - submitApointment(index); - //print("here3"); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } - }, + windowBody: Column( + children: [ + MIHTextField( + controller: idController, + hintText: "ID No.", + editable: false, + required: true, ), - ) - ], + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "First Name", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Surname", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHDateField( + controller: dateController, + lableText: "Date", + required: true, + ), + const SizedBox(height: 10.0), + MIHTimeField( + controller: timeController, + lableText: "Time", + required: true, + ), + const SizedBox(height: 30.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Book", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + //print("here1"); + bool filled = isAppointmentFieldsFilled(); + //print("fields filled: $filled"); + if (filled) { + //print("here2"); + submitApointment(index); + //print("here3"); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, + ), + ) + ], + ), ), ); } @@ -214,74 +217,76 @@ class _BuildPatientsListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Profile", - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: idController, - hintText: "ID No.", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: fnameController, - hintText: "First Name", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: lnameController, - hintText: "Surname", - editable: false, - required: true, - ), - const SizedBox(height: 30.0), - Wrap(runSpacing: 10, spacing: 10, children: [ - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Book Appointment", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - appointmentPopUp(index); - }, - ), + windowBody: Column( + children: [ + MIHTextField( + controller: idController, + hintText: "ID No.", + editable: false, + required: true, ), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "View Patient Profile", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - // Navigator.of(context).pop(); - Navigator.of(context).pushNamed('/patient-manager/patient', - arguments: PatientViewArguments( - widget.signedInUser, - patientProfile, - widget.businessUser, - widget.business, - "business", - )); - }, - ), + const SizedBox(height: 10.0), + MIHTextField( + controller: fnameController, + hintText: "First Name", + editable: false, + required: true, ), - ]) - ], + const SizedBox(height: 10.0), + MIHTextField( + controller: lnameController, + hintText: "Surname", + editable: false, + required: true, + ), + const SizedBox(height: 30.0), + Wrap(runSpacing: 10, spacing: 10, children: [ + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Book Appointment", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + appointmentPopUp(index); + }, + ), + ), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "View Patient Profile", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + // Navigator.of(context).pop(); + Navigator.of(context).pushNamed('/patient-manager/patient', + arguments: PatientViewArguments( + widget.signedInUser, + patientProfile, + widget.businessUser, + widget.business, + "business", + )); + }, + ), + ), + ]) + ], + ), ), ); } 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 bdbda248..90e51130 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,9 +8,9 @@ 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_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_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -222,71 +222,74 @@ class _WaitingRoomState extends State { context: context, barrierDismissible: false, builder: (context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Appointment Type", - windowTools: [], + windowTools: null, onWindowTapClose: () { Navigator.of(context).pop(); }, - windowBody: [ - Text( - question, - style: TextStyle( - fontSize: 20, - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor()), - textAlign: TextAlign.left, - ), - const SizedBox(height: 15), - SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - widget.onIndexChange(1); - Navigator.of(context).pop(); - }, - buttonText: "Existing Patient", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + windowBody: Column( + children: [ + Text( + question, + style: TextStyle( + fontSize: 20, + color: MzanziInnovationHub.of(context)! + .theme + .secondaryColor()), + textAlign: TextAlign.left, ), - ), - const SizedBox(height: 10), - SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - widget.onIndexChange(2); - Navigator.of(context).pop(); - }, - buttonText: "Existing MIH User", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + const SizedBox(height: 15), + SizedBox( + width: 500, + height: 50, + child: MIHButton( + onTap: () { + widget.onIndexChange(1); + Navigator.of(context).pop(); + }, + buttonText: "Existing Patient", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - const SizedBox(height: 10), - SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - Navigator.pop(context); - addAppointmentWindow(); - }, - buttonText: "Skeleton Appointment", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + const SizedBox(height: 10), + SizedBox( + width: 500, + height: 50, + child: MIHButton( + onTap: () { + widget.onIndexChange(2); + Navigator.of(context).pop(); + }, + buttonText: "Existing MIH User", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - ], + const SizedBox(height: 10), + SizedBox( + width: 500, + height: 50, + child: MIHButton( + onTap: () { + Navigator.pop(context); + addAppointmentWindow(); + }, + buttonText: "Skeleton Appointment", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + ), + ], + ), ); }, ); @@ -297,10 +300,10 @@ class _WaitingRoomState extends State { context: context, barrierDismissible: false, builder: (context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Add Appointment", - windowTools: [], + windowTools: null, onWindowTapClose: () { Navigator.of(context).pop(); _appointmentDateController.clear(); @@ -309,61 +312,63 @@ class _WaitingRoomState extends State { _appointmentDescriptionIDController.clear(); _patientController.clear(); }, - windowBody: [ - SizedBox( - // width: 500, - child: MIHTextField( - controller: _appointmentTitleController, - hintText: "Title", - editable: true, - required: true, + windowBody: Column( + children: [ + SizedBox( + // width: 500, + child: MIHTextField( + controller: _appointmentTitleController, + hintText: "Title", + editable: true, + required: true, + ), ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHDateField( - controller: _appointmentDateController, - lableText: "Date", - required: true, + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHDateField( + controller: _appointmentDateController, + lableText: "Date", + required: true, + ), ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - child: MIHTimeField( - controller: _appointmentTimeController, - lableText: "Time", - required: true, + const SizedBox(height: 10), + SizedBox( + // width: 500, + child: MIHTimeField( + controller: _appointmentTimeController, + lableText: "Time", + required: true, + ), ), - ), - const SizedBox(height: 10), - SizedBox( - // width: 500, - height: 250, - child: MIHMLTextField( - controller: _appointmentDescriptionIDController, - hintText: "Description", - editable: true, - required: true, + const SizedBox(height: 10), + SizedBox( + // width: 500, + height: 250, + child: MIHMLTextField( + controller: _appointmentDescriptionIDController, + hintText: "Description", + editable: true, + required: true, + ), ), - ), - const SizedBox(height: 20), - SizedBox( - width: 500, - height: 50, - child: MIHButton( - onTap: () { - addAppointmentCall(); - }, - buttonText: "Add", - buttonColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), + const SizedBox(height: 20), + SizedBox( + width: 500, + height: 50, + child: MIHButton( + onTap: () { + addAppointmentCall(); + }, + buttonText: "Add", + buttonColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), ), - ), - ], + ], + ), ); }, ); diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.dart index fc0a49b3..f54afe42 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.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_dropdown_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_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_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; @@ -389,10 +389,10 @@ class _ClaimStatementWindowState extends State { @override Widget build(BuildContext context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Generate Claim/ Statement Document", - windowTools: const [], + windowTools: null, onWindowTapClose: () { // medicineController.clear(); // quantityController.clear(); @@ -402,9 +402,7 @@ class _ClaimStatementWindowState extends State { // noRepeatsController.clear(); Navigator.pop(context); }, - windowBody: [ - getWindowBody(), - ], + windowBody: getWindowBody(), ); } } diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart index c693a90b..3e9588c8 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart @@ -1,5 +1,5 @@ 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_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_objects/icd10_code.dart.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_icd10_code_list.dart'; import 'package:flutter/material.dart'; @@ -37,10 +37,10 @@ class _ICD10SearchWindowState extends State { @override Widget build(BuildContext context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "ICD-10 Search", - windowTools: const [], + windowTools: null, onWindowTapClose: () { // medicineController.clear(); // quantityController.clear(); @@ -50,9 +50,7 @@ class _ICD10SearchWindowState extends State { // noRepeatsController.clear(); Navigator.pop(context); }, - windowBody: [ - getWindowBody(), - ], + windowBody: getWindowBody(), ); } } diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart index adce4713..8eeea76f 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart @@ -1,6 +1,5 @@ import 'dart:convert'; - -import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -66,47 +65,49 @@ class _MedicineSearchState extends State { @override Widget build(BuildContext context) { - return MIHWindow( + return MihPackageWindow( fullscreen: false, windowTitle: "Select Medicine", - windowTools: [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - FutureBuilder( - future: futueMeds, - builder: (context, snapshot) { - if (snapshot.connectionState == ConnectionState.waiting) { - return const SizedBox( - height: 400, - child: Mihloadingcircle(), - ); - } else if (snapshot.hasData && snapshot.data!.isNotEmpty) { - final medsList = snapshot.data!; - return SizedBox( - height: 400, - child: BuildMedicinesList( - contoller: widget.searchVlaue, - medicines: medsList, - //searchString: searchString, - ), - ); - } else { - return const SizedBox( - height: 400, - child: Center( - child: Text( - "No Match Found\nPlease close and manually capture medicine", - style: TextStyle(fontSize: 25, color: Colors.grey), - textAlign: TextAlign.center, + windowBody: Column( + children: [ + FutureBuilder( + future: futueMeds, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const SizedBox( + height: 400, + child: Mihloadingcircle(), + ); + } else if (snapshot.hasData && snapshot.data!.isNotEmpty) { + final medsList = snapshot.data!; + return SizedBox( + height: 400, + child: BuildMedicinesList( + contoller: widget.searchVlaue, + medicines: medsList, + //searchString: searchString, ), - ), - ); - } - }, - ), - ], + ); + } else { + return const SizedBox( + height: 400, + child: Center( + child: Text( + "No Match Found\nPlease close and manually capture medicine", + style: TextStyle(fontSize: 25, color: Colors.grey), + textAlign: TextAlign.center, + ), + ), + ); + } + }, + ), + ], + ), ); } } diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart index 4ed07c83..6c33ec09 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart @@ -1,7 +1,9 @@ +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_apis/mih_file_api.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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_success_message.dart'; @@ -113,34 +115,68 @@ class _BuildClaimStatementFileListState showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: true, windowTitle: fileName, - windowBody: [ - BuildFileView( - link: url, - path: filePath, - //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', - ), - const SizedBox( - height: 10, - ) - ], - windowTools: [ - Visibility( - visible: hasAccessToDelete, - child: IconButton( - onPressed: () { - deleteFilePopUp(filePath, fileID); - }, - icon: Icon( - size: 35, - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), + windowBody: Column( + children: [ + BuildFileView( + link: url, + path: filePath, + //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', + ), + const SizedBox( + height: 10, + ) + ], + ), + windowTools: Visibility( + visible: hasAccessToDelete, + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Document", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteFilePopUp(filePath, fileID); + }, + ), + ], ), ), - ], + ), + // [ + // Visibility( + // visible: hasAccessToDelete, + // child: IconButton( + // onPressed: () { + // deleteFilePopUp(filePath, fileID); + // }, + // icon: Icon( + // size: 35, + // Icons.delete, + // color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // ), + // ), + // ), + // ], onWindowTapClose: () { Navigator.pop(context); }, diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart index 260bc178..1311f41a 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart @@ -1,8 +1,10 @@ import 'dart:convert'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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'; @@ -166,34 +168,53 @@ class _BuildFilesListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: true, windowTitle: fileName, - windowBody: [ - BuildFileView( - link: url, - path: filePath, - //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', - ), - const SizedBox( - height: 10, - ) - ], - windowTools: [ - Visibility( - visible: hasAccessToDelete, - child: IconButton( - onPressed: () { - deleteFilePopUp(filePath, fileID); - }, - icon: Icon( - size: 35, - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), + windowBody: Column( + children: [ + BuildFileView( + link: url, + path: filePath, + //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', + ), + const SizedBox( + height: 10, + ) + ], + ), + windowTools: Visibility( + visible: hasAccessToDelete, + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Document", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteFilePopUp(filePath, fileID); + }, + ), + ], ), ), - ], + ), onWindowTapClose: () { Navigator.pop(context); }, diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart index f1e9a9b6..e7a2146e 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart @@ -1,9 +1,11 @@ import 'dart:convert'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_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_window.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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_success_message.dart'; @@ -136,64 +138,84 @@ class _BuildNotesListState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: true, windowTitle: selectednote.note_name, - windowTools: [ - Visibility( - visible: hasAccessToDelete, - child: IconButton( - onPressed: () { - deletePatientPopUp(selectednote.idpatient_notes); - }, - icon: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), + windowTools: Visibility( + visible: hasAccessToDelete, + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: MihFloatingMenu( + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Document", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deletePatientPopUp(selectednote.idpatient_notes); + }, + ), + ], ), ), - ], + ), onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHTextField( - controller: businessNameController, - hintText: "Office", - editable: false, - required: false, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: userNameController, - hintText: "Created By", - editable: false, - required: false, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: dateController, - hintText: "Created Date", - editable: false, - required: false, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: noteTitleController, - hintText: "Note Title", - editable: false, - required: false, - ), - const SizedBox(height: 10.0), - Expanded( - child: MIHMLTextField( - controller: noteTextController, - hintText: "Note Details", + windowBody: Column( + children: [ + MIHTextField( + controller: businessNameController, + hintText: "Office", editable: false, required: false, ), - ), - ], + const SizedBox(height: 10.0), + MIHTextField( + controller: userNameController, + hintText: "Created By", + editable: false, + required: false, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: dateController, + hintText: "Created Date", + editable: false, + required: false, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: noteTitleController, + hintText: "Note Title", + editable: false, + required: false, + ), + const SizedBox(height: 10.0), + Expanded( + child: MIHMLTextField( + controller: noteTextController, + hintText: "Note Details", + editable: false, + required: false, + ), + ), + ], + ), ), ); // showDialog( 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 a8ad62e4..a0752cc2 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,9 +5,9 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_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_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -84,106 +84,109 @@ class _PatientConsultationState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Add Note", - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); titleController.clear(); noteTextController.clear(); }, - windowBody: [ - MIHTextField( - controller: officeController, - hintText: "Office", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: doctorController, - hintText: "Created By", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: dateController, - hintText: "Created Date", - editable: false, - required: true, - ), - const SizedBox(height: 10.0), - MIHTextField( - controller: titleController, - hintText: "Note Title", - editable: true, - required: true, - ), - const SizedBox(height: 10.0), - SizedBox( - //width: 700, - height: 250, - child: MIHMLTextField( - controller: noteTextController, - hintText: "Note Details", + windowBody: Column( + children: [ + MIHTextField( + controller: officeController, + hintText: "Office", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: doctorController, + hintText: "Created By", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: dateController, + hintText: "Created Date", + editable: false, + required: true, + ), + const SizedBox(height: 10.0), + MIHTextField( + controller: titleController, + hintText: "Note Title", editable: true, required: true, ), - ), - SizedBox( - height: 15, - child: ValueListenableBuilder( - builder: (BuildContext context, int value, Widget? child) { - return Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Text( - "$value", - style: TextStyle( - color: getNoteDetailLimitColor(), - ), - ), - const SizedBox(width: 5), - Text( - "/512", - style: TextStyle( - color: getNoteDetailLimitColor(), - ), - ), - ], - ); - }, - valueListenable: _counter, + const SizedBox(height: 10.0), + SizedBox( + //width: 700, + height: 250, + child: MIHMLTextField( + controller: noteTextController, + hintText: "Note Details", + editable: true, + required: true, + ), ), - ), - const SizedBox(height: 15.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - onTap: () { - if (isFieldsFilled()) { - addPatientNoteAPICall(); - Navigator.pop(context); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, + SizedBox( + height: 15, + child: ValueListenableBuilder( + builder: (BuildContext context, int value, Widget? child) { + return Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text( + "$value", + style: TextStyle( + color: getNoteDetailLimitColor(), + ), + ), + const SizedBox(width: 5), + Text( + "/512", + style: TextStyle( + color: getNoteDetailLimitColor(), + ), + ), + ], ); - } - }, - buttonText: "Add Note", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), + }, + valueListenable: _counter, + ), ), - ) - ], + const SizedBox(height: 15.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + onTap: () { + if (isFieldsFilled()) { + addPatientNoteAPICall(); + Navigator.pop(context); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, + buttonText: "Add Note", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + ) + ], + ), ), ); } 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 389b3810..5e79be80 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 @@ -7,9 +7,9 @@ import 'package:mzansi_innovation_hub/mih_components/med_cert_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; 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_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.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'; @@ -221,62 +221,65 @@ class _PatientDocumentsState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Upload File", - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - MIHFileField( - controller: selectedFileController, - hintText: "Select File", - editable: false, - required: true, - onPressed: () async { - FilePickerResult? result = await FilePicker.platform.pickFiles( - type: FileType.custom, - allowedExtensions: ['jpg', 'png', 'pdf'], - withData: true, - ); - if (result == null) return; - final selectedFile = result.files.first; - print("Selected file: $selectedFile"); - setState(() { - selected = selectedFile; - }); - setState(() { - selectedFileController.text = selectedFile.name; - }); - }, - ), - const SizedBox(height: 15), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Add File", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - if (isFileFieldsFilled()) { - submitDocUploadForm(); - // uploadSelectedFile(selected); - Navigator.pop(context); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } + windowBody: Column( + children: [ + MIHFileField( + controller: selectedFileController, + hintText: "Select File", + editable: false, + required: true, + onPressed: () async { + FilePickerResult? result = await FilePicker.platform.pickFiles( + type: FileType.custom, + allowedExtensions: ['jpg', 'png', 'pdf'], + withData: true, + ); + if (result == null) return; + final selectedFile = result.files.first; + print("Selected file: $selectedFile"); + setState(() { + selected = selectedFile; + }); + setState(() { + selectedFileController.text = selectedFile.name; + }); }, ), - ) - ], + const SizedBox(height: 15), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Add File", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + if (isFileFieldsFilled()) { + submitDocUploadForm(); + // uploadSelectedFile(selected); + Navigator.pop(context); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, + ), + ) + ], + ), ), ); } @@ -285,44 +288,47 @@ class _PatientDocumentsState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Create Medical Certificate", - windowTools: const [], + windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, - windowBody: [ - Medcertinput( - startDateController: startDateController, - endDateTextController: endDateTextController, - retDateTextController: retDateTextController, - ), - const SizedBox(height: 15.0), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Generate", - buttonColor: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () async { - if (isMedCertFieldsFilled()) { - await generateMedCert(); - //Navigator.pop(context); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage(errorType: "Input Error"); - }, - ); - } - }, + windowBody: Column( + children: [ + Medcertinput( + startDateController: startDateController, + endDateTextController: endDateTextController, + retDateTextController: retDateTextController, ), - ) - ], + const SizedBox(height: 15.0), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Generate", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () async { + if (isMedCertFieldsFilled()) { + await generateMedCert(); + //Navigator.pop(context); + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, + ), + ) + ], + ), ), ); } @@ -331,10 +337,10 @@ class _PatientDocumentsState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => MIHWindow( + builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Create Prescription", - windowTools: const [], + windowTools: null, onWindowTapClose: () { medicineController.clear(); quantityController.clear(); @@ -344,22 +350,24 @@ class _PatientDocumentsState extends State { noRepeatsController.clear(); Navigator.pop(context); }, - windowBody: [ - PrescripInput( - medicineController: medicineController, - quantityController: quantityController, - dosageController: dosageController, - timesDailyController: timesDailyController, - noDaysController: noDaysController, - noRepeatsController: noRepeatsController, - outputController: outputController, - selectedPatient: widget.selectedPatient, - signedInUser: widget.signedInUser, - business: widget.business, - businessUser: widget.businessUser, - env: env, - ), - ], + windowBody: Column( + children: [ + PrescripInput( + medicineController: medicineController, + quantityController: quantityController, + dosageController: dosageController, + timesDailyController: timesDailyController, + noDaysController: noDaysController, + noRepeatsController: noRepeatsController, + outputController: outputController, + selectedPatient: widget.selectedPatient, + signedInUser: widget.signedInUser, + business: widget.business, + businessUser: widget.businessUser, + env: env, + ), + ], + ), ), ); } diff --git a/Frontend/lib/mih_packages/test/test.dart b/Frontend/lib/mih_packages/test/test.dart index 425a4470..af787b72 100644 --- a/Frontend/lib/mih_packages/test/test.dart +++ b/Frontend/lib/mih_packages/test/test.dart @@ -50,7 +50,7 @@ class _MIHTestState extends State { ], ), secondaryActionButton: null, - body: MIHBody( + body: const MIHBody( borderOn: false, bodyItems: [ // YoutubePlayer( @@ -64,18 +64,5 @@ class _MIHTestState extends State { pullDownToRefresh: false, onPullDown: () async {}, ); - // return MIHWindow( - // fullscreen: false, - // windowTitle: "Test", - // windowTools: const [], - // onWindowTapClose: () { - // Navigator.pop(context); - // }, - // windowBody: [ - // YoutubePlayer( - // controller: videoController, - // ), - // ], - // ); } } From 6f5a28678b27ea31bbe6ebf9ddbda43ae37676ae Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 28 May 2025 10:51:43 +0200 Subject: [PATCH 09/15] amend window to always include menu --- .../mih_components/mih_layout/mih_tile.dart | 1 - .../package_tools/package_tool_one.dart | 20 ++ .../mih_floating_menu.dart | 37 ++- .../mih_package_window.dart | 225 +++++++++------- Frontend/lib/mih_env/env.dart | 12 +- .../builder/build_access_request_list.dart | 1 - .../builder/build_business_access_list.dart | 1 - .../calculator/package_tools/tip_calc.dart | 1 - .../builder/build_access_request_list.dart | 112 -------- .../builder/build_appointment_list.dart | 238 ++++++----------- .../calendar/package_tools/appointments.dart | 1 - .../mih_home/mih_home_legacy.dart | 72 ++---- .../mzansi_ai/package_tools/ai_chat.dart | 114 ++++----- .../builders/build_employee_list.dart | 46 ++-- .../builders/build_user_list.dart | 1 - .../builder/build_employee_list.dart | 46 ++-- .../builder/build_user_list.dart | 116 --------- .../builder/build_loyalty_card_list.dart | 157 ++++++------ .../package_tools/mih_cards.dart | 1 - .../build_mih_patient_search_list.dart | 2 - .../build_my_patient_list_list.dart | 2 - .../package_tools/waiting_room.dart | 2 - .../components/Claim_Statement_Window.dart | 1 - .../components/icd10_search_window.dart | 1 - .../components/medicine_search.dart | 1 - .../build_claim_statement_files_list.dart | 32 +-- .../list_builders/build_file_view.dart | 8 +- .../list_builders/build_files_list.dart | 242 +++++++++--------- .../list_builders/build_notes_list.dart | 25 +- .../package_tools/patient_consultation.dart | 1 - .../package_tools/patient_documents.dart | 3 - 31 files changed, 565 insertions(+), 957 deletions(-) diff --git a/Frontend/lib/mih_components/mih_layout/mih_tile.dart b/Frontend/lib/mih_components/mih_layout/mih_tile.dart index ad59559f..b3af8efc 100644 --- a/Frontend/lib/mih_components/mih_layout/mih_tile.dart +++ b/Frontend/lib/mih_components/mih_layout/mih_tile.dart @@ -50,7 +50,6 @@ class _MIHTileState extends State { return MihPackageWindow( fullscreen: false, windowTitle: widget.tileName, - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, diff --git a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart index b4b8679a..5fe1c0de 100644 --- a/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart +++ b/Frontend/lib/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart @@ -49,6 +49,26 @@ class _PackageToolOneState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Test No Full", + menuOptions: [ + SpeedDialChild( + child: Icon( + Icons.add, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Show New Window", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + // showTestWindow(); + }, + ), + ], onWindowTapClose: () { Navigator.of(context).pop(); }, diff --git a/Frontend/lib/mih_components/mih_package_components/mih_floating_menu.dart b/Frontend/lib/mih_components/mih_package_components/mih_floating_menu.dart index de9b0f44..3daf5169 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_floating_menu.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_floating_menu.dart @@ -4,12 +4,14 @@ import 'package:mzansi_innovation_hub/main.dart'; class MihFloatingMenu extends StatefulWidget { final IconData? icon; + final double? iconSize; final AnimatedIconData? animatedIcon; final SpeedDialDirection? direction; final List children; const MihFloatingMenu({ super.key, this.icon, + this.iconSize, this.animatedIcon, this.direction, required this.children, @@ -22,26 +24,21 @@ class MihFloatingMenu extends StatefulWidget { class _MihFloatingMenuState extends State { @override Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.only( - right: 5.0, - bottom: 5.0, - ), - child: SpeedDial( - icon: widget.icon, - animatedIcon: widget.animatedIcon, - direction: widget.direction ?? SpeedDialDirection.up, - activeIcon: Icons.close, - backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(), - activeBackgroundColor: - MzanziInnovationHub.of(context)!.theme.errorColor(), - foregroundColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), - overlayColor: Colors.black, - overlayOpacity: 0.5, - children: widget.children, - onOpen: () => debugPrint('OPENING DIAL'), - onClose: () => debugPrint('DIAL CLOSED'), - ), + return SpeedDial( + icon: widget.icon, + buttonSize: Size(widget.iconSize ?? 56.0, widget.iconSize ?? 56.0), + animatedIcon: widget.animatedIcon, + direction: widget.direction ?? SpeedDialDirection.up, + activeIcon: Icons.close, + backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(), + activeBackgroundColor: + MzanziInnovationHub.of(context)!.theme.errorColor(), + foregroundColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), + overlayColor: Colors.black, + overlayOpacity: 0.5, + children: widget.children, + onOpen: () => debugPrint('OPENING DIAL'), + onClose: () => debugPrint('DIAL CLOSED'), ); } } diff --git a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart index e6083892..bce5446f 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart @@ -1,20 +1,20 @@ import 'package:flutter/material.dart'; +import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_components/mih_floating_menu.dart'; class MihPackageWindow extends StatefulWidget { final String windowTitle; final Widget windowBody; - final Widget? windowTools; - // final List menuOptions; + final List? menuOptions; final void Function() onWindowTapClose; final bool fullscreen; const MihPackageWindow({ super.key, required this.fullscreen, required this.windowTitle, - this.windowTools, - // required this.menuOptions, + this.menuOptions, required this.onWindowTapClose, required this.windowBody, }); @@ -54,66 +54,6 @@ class _MihPackageWindowState extends State { } } - Widget getWindowHeader() { - return Container( - // color: Colors.green, - alignment: Alignment.center, - height: 50, - child: Row( - children: [ - Container( - // color: Colors.white, - alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(25), // Optional: rounds the corners - boxShadow: const [ - BoxShadow( - color: Color.fromARGB( - 60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2) - spreadRadius: -5, - blurRadius: 5, - offset: Offset(0, 5), - ), - ], - ), - child: IconButton.filled( - style: ButtonStyle( - backgroundColor: WidgetStateProperty.all( - MzanziInnovationHub.of(context)!.theme.errorColor()), - ), - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - iconSize: 20, - onPressed: () { - widget.onWindowTapClose(); - }, - icon: const Icon( - Icons.close, - ), - ), - ), - Expanded( - child: Container( - padding: EdgeInsets.symmetric(horizontal: 15), - // color: Colors.pink, - child: Text( - widget.windowTitle, - textAlign: TextAlign.left, - style: TextStyle( - fontSize: windowTitleSize, - fontWeight: FontWeight.bold, - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ), - ), - ), - widget.windowTools != null ? widget.windowTools! : Container(), - ], - ), - ); - } - @override void dispose() { super.dispose(); @@ -139,44 +79,139 @@ class _MihPackageWindowState extends State { ), insetAnimationCurve: Easing.emphasizedDecelerate, insetAnimationDuration: Durations.short1, - child: Container( - decoration: BoxDecoration( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - borderRadius: BorderRadius.circular(25.0), - border: Border.all( - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - width: 5.0), - ), - child: widget.fullscreen - ? Column( - mainAxisSize: MainAxisSize.max, - children: [ - getWindowHeader(), - Expanded( - child: SingleChildScrollView(child: widget.windowBody)), - ], - ) - : Column( - mainAxisSize: MainAxisSize.min, - children: [ - getWindowHeader(), - Flexible( - child: Padding( - padding: EdgeInsets.only( - left: 25, - right: 25, - bottom: vertticalWindowPadding, - ), - child: ConstrainedBox( + child: Stack( + children: [ + Container( + decoration: BoxDecoration( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + borderRadius: BorderRadius.circular(25.0), + border: Border.all( + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + width: 5.0), + ), + child: widget.fullscreen + ? Column( + mainAxisSize: MainAxisSize.max, + children: [ + const SizedBox(height: 10), + Row( + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + child: Text( + widget.windowTitle, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: windowTitleSize, + fontWeight: FontWeight.bold, + color: MzanziInnovationHub.of(context)! + .theme + .secondaryColor(), + ), + ), + ), + ], + ), + const SizedBox(height: 5), + Expanded( + child: + SingleChildScrollView(child: widget.windowBody)), + ], + ) + : Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 10), + Row( + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + child: Text( + widget.windowTitle, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: windowTitleSize, + fontWeight: FontWeight.bold, + color: MzanziInnovationHub.of(context)! + .theme + .secondaryColor(), + ), + ), + ), + ], + ), + const SizedBox(height: 5), + Flexible( + child: Padding( + padding: EdgeInsets.only( + left: 25, + right: 25, + bottom: vertticalWindowPadding, + ), + child: ConstrainedBox( constraints: BoxConstraints( maxHeight: windowHeight * 0.85, maxWidth: windowWidth * 0.85, ), - child: MihSingleChildScroll( - child: widget.windowBody))), + child: + MihSingleChildScroll(child: widget.windowBody), + ), + ), + ), + ], + ), + ), + Positioned( + top: 10, + left: 10, + child: Container( + // color: Colors.white, + alignment: Alignment.center, + decoration: BoxDecoration( + borderRadius: + BorderRadius.circular(25), // Optional: rounds the corners + boxShadow: const [ + BoxShadow( + color: Color.fromARGB( + 60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2) + spreadRadius: -2, + blurRadius: 10, + offset: Offset(0, 5), ), ], ), + child: IconButton.filled( + style: ButtonStyle( + backgroundColor: WidgetStateProperty.all( + MzanziInnovationHub.of(context)!.theme.errorColor()), + ), + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + iconSize: 20, + onPressed: () { + widget.onWindowTapClose(); + }, + icon: const Icon( + Icons.close, + ), + ), + ), + ), + Visibility( + visible: + widget.menuOptions != null || widget.menuOptions!.isNotEmpty, + child: Positioned( + top: 10, + right: 10, + child: MihFloatingMenu( + iconSize: 40, + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: widget.menuOptions != null ? widget.menuOptions! : [], + ), + ), + ), + ], ), ); } diff --git a/Frontend/lib/mih_env/env.dart b/Frontend/lib/mih_env/env.dart index c96e44e0..f86f1312 100644 --- a/Frontend/lib/mih_env/env.dart +++ b/Frontend/lib/mih_env/env.dart @@ -15,13 +15,13 @@ abstract class AppEnviroment { case Enviroment.dev: { //================= Android Dev Urls ================= - baseApiUrl = "http://10.0.2.2:8080"; - baseFileUrl = "http://10.0.2.2:9000"; - baseAiUrl = "http://10.0.2.2:11434"; + // baseApiUrl = "http://10.0.2.2:8080"; + // baseFileUrl = "http://10.0.2.2:9000"; + // baseAiUrl = "http://10.0.2.2:11434"; //================= Web Dev Urls ================= - // baseApiUrl = "http://localhost:8080"; - // baseFileUrl = "http://localhost:9000"; - // baseAiUrl = "http://localhost:11434"; + baseApiUrl = "http://localhost:8080"; + baseFileUrl = "http://localhost:9000"; + baseAiUrl = "http://localhost:11434"; whatsappAccessToken = "EAAPINXuNFdYBOzBjTcvZA2iPXEHbHRF9uNXyP3ihkPRUcBqKNru5g9NKRRKkFaiaITEzO3BMo6CjdUmlDH4qYTW2mzDrZB4Q21ZCEZBgECZCu27vfaOXJZCYQLNxwoXkrZBRYv8ZAP37f69r3z9JxLQxdxn9gwqA3oNZAlBBRapJQzxOr6pZBTdI3bbjbu17ZBIwRcF4JCqPDCNLEZCI3bmHwEd2i2niNMYZD"; //fingerPrintPluginKey = 'h5X7a5j14iUZCobI1ZeX'; diff --git a/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart b/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart index 3b2a8115..306a9960 100644 --- a/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart +++ b/Frontend/lib/mih_packages/access_review/builder/build_access_request_list.dart @@ -279,7 +279,6 @@ class _BuildPatientsListState extends State { ), ], ), - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }), diff --git a/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart b/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart index 6fd9b9e8..edd1cc2d 100644 --- a/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart +++ b/Frontend/lib/mih_packages/access_review/builder/build_business_access_list.dart @@ -436,7 +436,6 @@ class _BuildPatientsListState extends State { ), ], ), - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }), 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 b7a60467..894c03b4 100644 --- a/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart +++ b/Frontend/lib/mih_packages/calculator/package_tools/tip_calc.dart @@ -122,7 +122,6 @@ class _TipCalcState extends State { onWindowTapClose: () { Navigator.pop(context); }, - windowTools: null, windowBody: Column( children: [ Row( diff --git a/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart b/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart index 8e7dd822..eee3300e 100644 --- a/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart +++ b/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart @@ -281,122 +281,10 @@ class _BuildPatientsListState extends State { ), ], ), - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }), ); - // showDialog( - // context: context, - // barrierDismissible: false, - // builder: (context) => Dialog( - // child: Stack( - // children: [ - // Container( - // //padding: const EdgeInsets.all(15.0), - // width: popUpWidth, - // height: popUpheight, - // decoration: BoxDecoration( - // color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // borderRadius: BorderRadius.circular(25.0), - // border: Border.all( - // color: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // width: 5.0), - // ), - // child: SingleChildScrollView( - // padding: EdgeInsets.all(popUpPaddingSize), - // child: Column( - // mainAxisSize: MainAxisSize.min, - // mainAxisAlignment: MainAxisAlignment.center, - // crossAxisAlignment: CrossAxisAlignment.center, - // children: [ - // Text( - // "Update Appointment Access", - // textAlign: TextAlign.center, - // style: TextStyle( - // color: MzanziInnovationHub.of(context)! - // .theme - // .secondaryColor(), - // fontSize: popUpTitleSize, - // fontWeight: FontWeight.bold, - // ), - // ), - // const SizedBox(height: 15.0), - // Text( - // subtitle, - // textAlign: TextAlign.left, - // style: TextStyle( - // color: MzanziInnovationHub.of(context)! - // .theme - // .secondaryColor(), - // fontSize: popUpBodySize, - // //fontWeight: FontWeight.bold, - // ), - // ), - // const SizedBox(height: 10.0), - // Wrap( - // runSpacing: 10, - // spacing: 10, - // children: [ - // SizedBox( - // width: popUpButtonWidth, - // height: 50, - // child: MIHButton( - // onTap: () { - // updateAccessAPICall(index, "declined"); - // }, - // buttonText: "Decline", - // buttonColor: MzanziInnovationHub.of(context)! - // .theme - // .errorColor(), - // textColor: MzanziInnovationHub.of(context)! - // .theme - // .primaryColor(), - // ), - // ), - // SizedBox( - // width: popUpButtonWidth, - // height: 50, - // child: MIHButton( - // onTap: () { - // updateAccessAPICall(index, "approved"); - // }, - // buttonText: "Approve", - // buttonColor: MzanziInnovationHub.of(context)! - // .theme - // .successColor(), - // textColor: MzanziInnovationHub.of(context)! - // .theme - // .primaryColor(), - // ), - // ), - // ], - // ) - // ], - // ), - // ), - // ), - // Positioned( - // top: 5, - // right: 5, - // width: 50, - // height: 50, - // child: IconButton( - // onPressed: () { - // Navigator.pop(context); - // }, - // icon: Icon( - // Icons.close, - // color: MzanziInnovationHub.of(context)!.theme.errorColor(), - // size: 35, - // ), - // ), - // ), - // ], - // ), - // ), - // ); } @override diff --git a/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart b/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart index 6c965876..b54b80f6 100644 --- a/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart +++ b/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart @@ -6,7 +6,6 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_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_inputs_and_buttons/mih_time_input.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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'; @@ -156,58 +155,44 @@ class _BuildAppointmentListState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Appointment Details", - windowTools: Visibility( - visible: canEditAppointment(index), - child: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( - child: Icon( - Icons.edit, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Edit Appointment", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - appointmentUpdateWindow(index); - }, - ), - SpeedDialChild( - child: Icon( - Icons.delete, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Appointment", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - deleteAppointmentConfirmationWindow(index); - }, - ), - ], + menuOptions: [ + SpeedDialChild( + child: Icon( + Icons.edit, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), ), + label: "Edit Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + appointmentUpdateWindow(index); + }, ), - ), + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteAppointmentConfirmationWindow(index); + }, + ), + ], onWindowTapClose: () { Navigator.of(context).pop(); widget.dateController.clear(); @@ -257,38 +242,6 @@ class _BuildAppointmentListState extends State { ), ), const SizedBox(height: 10), - // Visibility( - // visible: canEditAppointment(index), - // child: SizedBox( - // width: 500, - // height: 50, - // child: MIHButton( - // onTap: () { - // appointmentUpdateWindow(index); - // }, - // buttonText: "Edit", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ), - // ), - // SizedBox( - // width: 500, - // height: 50, - // child: MIHButton( - // onTap: () { - // addAppointmentCall(); - // checkforchange(); - // }, - // buttonText: "Add", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.successColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ), ], ), ); @@ -304,58 +257,44 @@ class _BuildAppointmentListState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Appointment Details", - windowTools: Visibility( - visible: canEditAppointment(index), - child: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( - child: Icon( - Icons.edit, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Edit Appointment", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - appointmentUpdateWindow(index); - }, - ), - SpeedDialChild( - child: Icon( - Icons.delete, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Appointment", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - deleteAppointmentConfirmationWindow(index); - }, - ), - ], + menuOptions: [ + SpeedDialChild( + child: Icon( + Icons.edit, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), ), + label: "Edit Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + appointmentUpdateWindow(index); + }, ), - ), + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Appointment", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteAppointmentConfirmationWindow(index); + }, + ), + ], onWindowTapClose: () { Navigator.of(context).pop(); widget.dateController.clear(); @@ -414,38 +353,6 @@ class _BuildAppointmentListState extends State { ), ), const SizedBox(height: 20), - // Visibility( - // visible: canEditAppointment(index), - // child: SizedBox( - // width: 500, - // height: 50, - // child: MIHButton( - // onTap: () { - // appointmentUpdateWindow(index); - // }, - // buttonText: "Edit", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ), - // ), - // SizedBox( - // width: 500, - // height: 50, - // child: MIHButton( - // onTap: () { - // addAppointmentCall(); - // checkforchange(); - // }, - // buttonText: "Add", - // buttonColor: - // MzanziInnovationHub.of(context)!.theme.successColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ), ], ), ); @@ -461,7 +368,6 @@ class _BuildAppointmentListState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Update Appointment", - windowTools: null, onWindowTapClose: () { setState(() { widget.titleController.text = widget.appointmentList[index].title; diff --git a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart b/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart index 418936e2..b48460e1 100644 --- a/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart +++ b/Frontend/lib/mih_packages/calendar/package_tools/appointments.dart @@ -104,7 +104,6 @@ class _PatientAccessRequestState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Add Appointment", - windowTools: null, onWindowTapClose: () { Navigator.of(context).pop(); _appointmentDateController.clear(); diff --git a/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart b/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart index 5074653b..18863d5a 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart @@ -3,7 +3,6 @@ import 'dart:convert'; // import 'dart:convert'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_objects/patients.dart'; import 'package:flutter/material.dart'; @@ -857,59 +856,26 @@ class _MIHHomeLegacyState extends State { ) ], ), - windowTools: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( - child: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - ), - label: "Wallet?", - labelBackgroundColor: MzanziInnovationHub.of(context)! - .theme - .successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: MzanziInnovationHub.of(context)! - .theme - .successColor(), - onTap: () {}, - ), - SpeedDialChild( - child: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - ), - label: "Delete File", - labelBackgroundColor: MzanziInnovationHub.of(context)! - .theme - .successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: MzanziInnovationHub.of(context)! - .theme - .successColor(), - onTap: () {}, - ), - ], + menuOptions: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete File", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () {}, ), - ), + ], onWindowTapClose: () { Navigator.pop(context); }, 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 acf9146f..38710cd0 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 @@ -172,64 +172,64 @@ class _AiChatState extends State { return MihPackageWindow( fullscreen: false, windowTitle: 'Mzansi AI Thoughts', - windowTools: Row( - children: [ - Visibility( - visible: _aiThinking == false, - child: Padding( - padding: const EdgeInsets.all(5.0), - child: Container( - //color: MzanziInnovationHub.of(context)!.theme.successColor(), - decoration: BoxDecoration( - color: MzanziInnovationHub.of(context)! - .theme - .successColor(), - borderRadius: const BorderRadius.all( - Radius.circular(100), - ), - ), - child: IconButton( - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - onPressed: () async { - print("Start TTS now"); + // menuOptions: Row( + // children: [ + // Visibility( + // visible: _aiThinking == false, + // child: Padding( + // padding: const EdgeInsets.all(5.0), + // child: Container( + // //color: MzanziInnovationHub.of(context)!.theme.successColor(), + // decoration: BoxDecoration( + // color: MzanziInnovationHub.of(context)! + // .theme + // .successColor(), + // borderRadius: const BorderRadius.all( + // Radius.circular(100), + // ), + // ), + // child: IconButton( + // color: MzanziInnovationHub.of(context)! + // .theme + // .primaryColor(), + // onPressed: () async { + // print("Start TTS now"); - _speakText(snapshot.requireData); - }, - icon: const Icon(Icons.volume_up), - ), - ), - ), - ), - Visibility( - visible: _aiThinking == true, - child: Padding( - padding: const EdgeInsets.all(5.0), - child: Container( - // color: MzanziInnovationHub.of(context)!.theme.errorColor(), - decoration: BoxDecoration( - color: - MzanziInnovationHub.of(context)!.theme.errorColor(), - borderRadius: const BorderRadius.all( - Radius.circular(100), - ), - ), - child: IconButton( - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - onPressed: () { - //print("Start TTS now"); - _flutterTts.stop(); - }, - icon: const Icon(Icons.volume_off), - ), - ), - ), - ), - ], - ), + // _speakText(snapshot.requireData); + // }, + // icon: const Icon(Icons.volume_up), + // ), + // ), + // ), + // ), + // Visibility( + // visible: _aiThinking == true, + // child: Padding( + // padding: const EdgeInsets.all(5.0), + // child: Container( + // // color: MzanziInnovationHub.of(context)!.theme.errorColor(), + // decoration: BoxDecoration( + // color: + // MzanziInnovationHub.of(context)!.theme.errorColor(), + // borderRadius: const BorderRadius.all( + // Radius.circular(100), + // ), + // ), + // child: IconButton( + // color: MzanziInnovationHub.of(context)! + // .theme + // .primaryColor(), + // onPressed: () { + // //print("Start TTS now"); + // _flutterTts.stop(); + // }, + // icon: const Icon(Icons.volume_off), + // ), + // ), + // ), + // ), + // ], + // ), onWindowTapClose: () { _captureAIResponse(snapshot.requireData); _flutterTts.stop(); 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 8755e035..64ce3ff0 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 @@ -5,7 +5,6 @@ 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_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_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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'; @@ -154,33 +153,26 @@ class _BuildEmployeeListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Employee Details", - windowTools: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( - child: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Employee", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - showDeleteWarning(index); - }, - ), - ], + menuOptions: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Employee", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + showDeleteWarning(index); + }, ), - ), + ], onWindowTapClose: () { Navigator.pop(context); }, 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 d363db8b..866de8dd 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 @@ -189,7 +189,6 @@ class _BuildUserListState extends State { const SizedBox(height: 10.0), ], ), - windowTools: null, onWindowTapClose: () { Navigator.pop(context); })); diff --git a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart index 5e5382dc..06faec2d 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_employee_list.dart @@ -2,7 +2,6 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; import 'package:supertokens_flutter/http.dart' as http; @@ -155,33 +154,26 @@ class _BuildEmployeeListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Employee Details", - windowTools: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( - child: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Employee", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - showDeleteWarning(index); - }, - ), - ], + menuOptions: [ + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Employee", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + showDeleteWarning(index); + }, ), - ), + ], onWindowTapClose: () { Navigator.pop(context); }, diff --git a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart index 79df1e59..67e5f3d6 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/manage_business/builder/build_user_list.dart @@ -190,125 +190,9 @@ class _BuildUserListState extends State { const SizedBox(height: 10.0), ], ), - windowTools: null, onWindowTapClose: () { Navigator.pop(context); })); - // showDialog( - // context: context, - // barrierDismissible: false, - // builder: (context) => Dialog( - // child: Stack( - // children: [ - // Container( - // padding: const EdgeInsets.all(10.0), - // width: 700.0, - // //height: 475.0, - // decoration: BoxDecoration( - // color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // borderRadius: BorderRadius.circular(25.0), - // border: Border.all( - // color: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // width: 5.0), - // ), - // child: SingleChildScrollView( - // padding: const EdgeInsets.symmetric(horizontal: 10), - // child: Column( - // mainAxisSize: MainAxisSize.min, - // children: [ - // Text( - // "Add Employee", - // textAlign: TextAlign.center, - // style: TextStyle( - // color: MzanziInnovationHub.of(context)! - // .theme - // .secondaryColor(), - // fontSize: 35.0, - // fontWeight: FontWeight.bold, - // ), - // ), - // const SizedBox(height: 25.0), - // MIHTextField( - // controller: fnameController, - // hintText: "Username Name", - // editable: false, - // required: true, - // ), - // const SizedBox(height: 10.0), - // MIHTextField( - // controller: lnameController, - // hintText: "Email", - // editable: false, - // required: true, - // ), - // const SizedBox(height: 10.0), - // MIHDropdownField( - // controller: typeController, - // hintText: "Title", - // dropdownOptions: const ["Doctor", "Assistant"], - // required: true, - // editable: true, - // ), - // const SizedBox(height: 10.0), - // MIHDropdownField( - // controller: accessController, - // hintText: "Access", - // dropdownOptions: const ["Full", "Partial"], - // required: true, - // editable: true, - // ), - // const SizedBox(height: 30.0), - // SizedBox( - // width: 300, - // height: 50, - // child: MIHButton( - // buttonText: "Add", - // buttonColor: MzanziInnovationHub.of(context)! - // .theme - // .secondaryColor(), - // textColor: MzanziInnovationHub.of(context)! - // .theme - // .primaryColor(), - // onTap: () { - // if (isRequiredFieldsCaptured()) { - // createBusinessUserAPICall(index); - // } else { - // showDialog( - // context: context, - // builder: (context) { - // return const MIHErrorMessage( - // errorType: "Input Error"); - // }, - // ); - // } - // }, - // ), - // ) - // ], - // ), - // ), - // ), - // Positioned( - // top: 5, - // right: 5, - // width: 50, - // height: 50, - // child: IconButton( - // onPressed: () { - // Navigator.pop(context); - // }, - // icon: Icon( - // Icons.close, - // color: MzanziInnovationHub.of(context)!.theme.errorColor(), - // size: 35, - // ), - // ), - // ), - // ], - // ), - // ), - // ); } @override diff --git a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart index b2db3dc9..3923d080 100644 --- a/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart +++ b/Frontend/lib/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart @@ -6,7 +6,6 @@ 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_package_components/mih_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; 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_objects/app_user.dart'; @@ -52,7 +51,6 @@ class _BuildLoyaltyCardListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Edit Loyalty Card", - windowTools: null, onWindowTapClose: () { _cardNumberController.clear(); _nicknameController.clear(); @@ -60,6 +58,7 @@ class _BuildLoyaltyCardListState extends State { }, windowBody: Column( children: [ + const SizedBox(height: 10), MIHTextField( controller: _nicknameController, hintText: "Card Title", @@ -279,89 +278,79 @@ class _BuildLoyaltyCardListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: widget.cardList[index].shop_name.toUpperCase(), - windowTools: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( - child: widget.cardList[index].favourite == "" - ? Icon( - Icons.favorite, - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - ) - : Icon( - Icons.favorite_border, - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - ), - label: widget.cardList[index].favourite == "" - ? "Add to Favourite" - : "Remove from Favourite", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - if (widget.cardList[index].favourite == "") { - addToFavCardWindow(context, index); - } else { - removeFromFavCardWindow(context, index); - } - }, - ), - SpeedDialChild( - child: Icon( - Icons.edit, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Edit Card Details", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - setState(() { - _cardNumberController.text = - widget.cardList[index].card_number; - _nicknameController.text = widget.cardList[index].nickname; - }); - editCardWindow(context, index); - }, - ), - SpeedDialChild( - child: Icon( - Icons.delete, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Card", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - deleteCardWindow(context, index); - }, - ), - ], + menuOptions: [ + SpeedDialChild( + child: widget.cardList[index].favourite == "" + ? Icon( + Icons.favorite, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ) + : Icon( + Icons.favorite_border, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: widget.cardList[index].favourite == "" + ? "Add to Favourite" + : "Remove from Favourite", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + if (widget.cardList[index].favourite == "") { + addToFavCardWindow(context, index); + } else { + removeFromFavCardWindow(context, index); + } + }, ), - ), + SpeedDialChild( + child: Icon( + Icons.edit, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Edit Card Details", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + setState(() { + _cardNumberController.text = widget.cardList[index].card_number; + _nicknameController.text = widget.cardList[index].nickname; + }); + editCardWindow(context, index); + }, + ), + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Card", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteCardWindow(context, index); + }, + ), + ], onWindowTapClose: () { Navigator.pop(context); }, 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 75ebb991..22fe42f6 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 @@ -84,7 +84,6 @@ class _MihCardsState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Add New Loyalty Card", - windowTools: null, onWindowTapClose: () { shopController.clear(); cardNumberController.clear(); diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.dart index a0bc7fd1..4f43cc81 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_mih_patient_search_list.dart @@ -170,7 +170,6 @@ class _BuildPatientsListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Appointment", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, @@ -327,7 +326,6 @@ class _BuildPatientsListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Profile", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, diff --git a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.dart index 939cf62a..c90171d1 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_manager/list_builders/build_my_patient_list_list.dart @@ -103,7 +103,6 @@ class _BuildPatientsListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Appointment", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, @@ -220,7 +219,6 @@ class _BuildPatientsListState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Patient Profile", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, 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 90e51130..77736618 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 @@ -225,7 +225,6 @@ class _WaitingRoomState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Appointment Type", - windowTools: null, onWindowTapClose: () { Navigator.of(context).pop(); }, @@ -303,7 +302,6 @@ class _WaitingRoomState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Add Appointment", - windowTools: null, onWindowTapClose: () { Navigator.of(context).pop(); _appointmentDateController.clear(); diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.dart index f54afe42..b89c76b6 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/Claim_Statement_Window.dart @@ -392,7 +392,6 @@ class _ClaimStatementWindowState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Generate Claim/ Statement Document", - windowTools: null, onWindowTapClose: () { // medicineController.clear(); // quantityController.clear(); diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart index 3e9588c8..2e354256 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/icd10_search_window.dart @@ -40,7 +40,6 @@ class _ICD10SearchWindowState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "ICD-10 Search", - windowTools: null, onWindowTapClose: () { // medicineController.clear(); // quantityController.clear(); diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart index 8eeea76f..0c324ecc 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/components/medicine_search.dart @@ -68,7 +68,6 @@ class _MedicineSearchState extends State { return MihPackageWindow( fullscreen: false, windowTitle: "Select Medicine", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart index 6c33ec09..65b98116 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart @@ -2,7 +2,6 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart'; 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_apis/mih_file_api.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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'; @@ -130,14 +129,8 @@ class _BuildClaimStatementFileListState ) ], ), - windowTools: Visibility( - visible: hasAccessToDelete, - child: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ + menuOptions: hasAccessToDelete + ? [ SpeedDialChild( child: Icon( Icons.delete, @@ -158,25 +151,8 @@ class _BuildClaimStatementFileListState deleteFilePopUp(filePath, fileID); }, ), - ], - ), - ), - ), - // [ - // Visibility( - // visible: hasAccessToDelete, - // child: IconButton( - // onPressed: () { - // deleteFilePopUp(filePath, fileID); - // }, - // icon: Icon( - // size: 35, - // Icons.delete, - // color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // ), - // ), - // ), - // ], + ] + : null, onWindowTapClose: () { Navigator.pop(context); }, diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart index 5f7fcdd5..96922521 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart @@ -115,7 +115,8 @@ class _BuildFileViewState extends State { //double height = MediaQuery.sizeOf(context).height; debugPrint(widget.link); if (getExtType(widget.path).toLowerCase() == "pdf") { - return Expanded( + return SizedBox( + height: 500, child: Stack( fit: StackFit.expand, children: [ @@ -185,9 +186,8 @@ class _BuildFileViewState extends State { ), ); } else { - return Expanded( - // height: height, - // padding: const EdgeInsets.all(10.0), + return SizedBox( + height: 500, child: Stack( fit: StackFit.expand, children: [ diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart index 1311f41a..d88674a1 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart @@ -1,9 +1,9 @@ import 'dart:convert'; +import 'package:fl_downloader/fl_downloader.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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'; @@ -19,6 +19,8 @@ import 'package:mzansi_innovation_hub/mih_objects/patients.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart'; import 'package:flutter/material.dart'; import 'package:supertokens_flutter/http.dart' as http; +import 'package:http/http.dart' as http2; +import "package:universal_html/html.dart" as html; class BuildFilesList extends StatefulWidget { final AppUser signedInUser; @@ -160,6 +162,39 @@ class _BuildFilesListState extends State { ); } + String getFileName(String path) { + //print(pdfLink.split(".")[1]); + return path.split("/").last; + } + + void printDocument(String link, String path) async { + http2.Response response = await http.get(Uri.parse(link)); + var pdfData = response.bodyBytes; + Navigator.of(context).pushNamed( + '/file-veiwer/print-preview', + arguments: PrintPreviewArguments( + pdfData, + getFileName(path), + ), + ); + } + + void nativeFileDownload(String fileLink) async { + var permission = await FlDownloader.requestPermission(); + if (permission == StoragePermissionStatus.granted) { + try { + mihLoadingPopUp(); + await FlDownloader.download(fileLink); + Navigator.of(context).pop(); + } on Exception catch (error) { + Navigator.of(context).pop(); + print(error); + } + } else { + print("denied"); + } + } + void viewFilePopUp(String fileName, String filePath, int fileID, String url) { bool hasAccessToDelete = false; if (widget.type == "business") { @@ -169,29 +204,58 @@ class _BuildFilesListState extends State { context: context, barrierDismissible: false, builder: (context) => MihPackageWindow( - fullscreen: true, + fullscreen: false, windowTitle: fileName, - windowBody: Column( - children: [ - BuildFileView( - link: url, - path: filePath, - //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', - ), - const SizedBox( - height: 10, - ) - ], + windowBody: BuildFileView( + link: url, + path: filePath, + //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', ), - windowTools: Visibility( - visible: hasAccessToDelete, - child: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ - SpeedDialChild( + menuOptions: [ + SpeedDialChild( + child: Icon( + Icons.download, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Download", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + if (MzanziInnovationHub.of(context)!.theme.getPlatform() == + "Web") { + html.window.open(url, 'download'); + } else { + nativeFileDownload(url); + } + printDocument(url, filePath); + }, + ), + SpeedDialChild( + child: Icon( + Icons.print, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Print", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + printDocument(url, filePath); + }, + ), + hasAccessToDelete == true + ? SpeedDialChild( child: Icon( Icons.delete, color: @@ -210,116 +274,42 @@ class _BuildFilesListState extends State { onTap: () { deleteFilePopUp(filePath, fileID); }, + ) + : SpeedDialChild( + child: Icon( + Icons.fullscreen, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Full Screen", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + printDocument(url, filePath); + }, ), - ], - ), - ), - ), + ], onWindowTapClose: () { Navigator.pop(context); }, ), ); - // showDialog( - // context: context, - // barrierDismissible: false, - // builder: (context) => Dialog( - // child: Stack( - // children: [ - // Container( - // padding: const EdgeInsets.all(10.0), - // width: 800.0, - // //height: 475.0, - // decoration: BoxDecoration( - // color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // borderRadius: BorderRadius.circular(25.0), - // border: Border.all( - // color: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // width: 5.0), - // ), - // child: Column( - // mainAxisSize: MainAxisSize.min, - // children: [ - // const SizedBox( - // height: 25, - // ), - // Text( - // fileName, - // textAlign: TextAlign.center, - // style: TextStyle( - // color: MzanziInnovationHub.of(context)! - // .theme - // .secondaryColor(), - // fontSize: 35.0, - // fontWeight: FontWeight.bold, - // ), - // ), - // const SizedBox(height: 25.0), - // Expanded( - // child: BuildFileView( - // link: url, - // path: filePath, - // //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', - // )), - // const SizedBox(height: 30.0), - // SizedBox( - // width: 300, - // height: 50, - // child: MIHButton( - // onTap: () { - // html.window.open( - // url, - // // '${AppEnviroment.baseFileUrl}/mih/$filePath', - // 'download'); - // }, - // buttonText: "Dowload", - // buttonColor: MzanziInnovationHub.of(context)! - // .theme - // .secondaryColor(), - // textColor: - // MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), - // ) - // ], - // ), - // ), - // Positioned( - // top: 5, - // right: 5, - // width: 50, - // height: 50, - // child: IconButton( - // onPressed: () { - // Navigator.pop(context); - // }, - // icon: Icon( - // Icons.close, - // color: MzanziInnovationHub.of(context)!.theme.errorColor(), - // size: 35, - // ), - // ), - // ), - // Positioned( - // top: 5, - // left: 5, - // width: 50, - // height: 50, - // child: IconButton( - // onPressed: () { - // deleteFilePopUp(filePath, fileID); - // }, - // icon: Icon( - // Icons.delete, - // color: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // ), - // ), - // ), - // ], - // ), - // ), - // ); + } + + void mihLoadingPopUp() { + showDialog( + context: context, + builder: (context) { + return const Mihloadingcircle(); + }, + ); } @override diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart index e7a2146e..fa56ef3d 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart @@ -4,7 +4,6 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_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_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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'; @@ -139,16 +138,10 @@ class _BuildNotesListState extends State { context: context, barrierDismissible: false, builder: (context) => MihPackageWindow( - fullscreen: true, - windowTitle: selectednote.note_name, - windowTools: Visibility( - visible: hasAccessToDelete, - child: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: MihFloatingMenu( - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: [ + fullscreen: false, + windowTitle: "Note Details", + menuOptions: hasAccessToDelete + ? [ SpeedDialChild( child: Icon( Icons.delete, @@ -169,15 +162,14 @@ class _BuildNotesListState extends State { deletePatientPopUp(selectednote.idpatient_notes); }, ), - ], - ), - ), - ), + ] + : null, onWindowTapClose: () { Navigator.pop(context); }, windowBody: Column( children: [ + const SizedBox(height: 10.0), MIHTextField( controller: businessNameController, hintText: "Office", @@ -206,7 +198,8 @@ class _BuildNotesListState extends State { required: false, ), const SizedBox(height: 10.0), - Expanded( + SizedBox( + height: 250, child: MIHMLTextField( controller: noteTextController, hintText: "Note Details", 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 a0752cc2..9ace1cfb 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 @@ -87,7 +87,6 @@ class _PatientConsultationState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Add Note", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); titleController.clear(); 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 5e79be80..af1661ab 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 @@ -224,7 +224,6 @@ class _PatientDocumentsState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Upload File", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, @@ -291,7 +290,6 @@ class _PatientDocumentsState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Create Medical Certificate", - windowTools: null, onWindowTapClose: () { Navigator.pop(context); }, @@ -340,7 +338,6 @@ class _PatientDocumentsState extends State { builder: (context) => MihPackageWindow( fullscreen: false, windowTitle: "Create Prescription", - windowTools: null, onWindowTapClose: () { medicineController.clear(); quantityController.clear(); From 0c4a6469cc12d2ae3aa9aa849bc8b583d309b930 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 28 May 2025 11:04:18 +0200 Subject: [PATCH 10/15] fix null safety --- .../mih_package_window.dart | 3 +- .../list_builders/build_notes_list.dart | 136 ------------------ 2 files changed, 1 insertion(+), 138 deletions(-) diff --git a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart index bce5446f..cbaafa11 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart @@ -198,8 +198,7 @@ class _MihPackageWindowState extends State { ), ), Visibility( - visible: - widget.menuOptions != null || widget.menuOptions!.isNotEmpty, + visible: (widget.menuOptions?.isNotEmpty ?? false), child: Positioned( top: 10, right: 10, diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart index fa56ef3d..77c15290 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_notes_list.dart @@ -211,142 +211,6 @@ class _BuildNotesListState extends State { ), ), ); - // showDialog( - // context: context, - // barrierDismissible: false, - // builder: (context) => Dialog( - // child: Stack( - // children: [ - // Container( - // padding: const EdgeInsets.all(15.0), - // width: 700.0, - // //height: 475.0, - // decoration: BoxDecoration( - // color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // borderRadius: BorderRadius.circular(25.0), - // border: Border.all( - // color: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // width: 5.0), - // ), - // child: Column( - // mainAxisSize: MainAxisSize.max, - // children: [ - // const SizedBox( - // height: 25, - // ), - // Text( - // selectednote.note_name, - // textAlign: TextAlign.center, - // style: TextStyle( - // color: MzanziInnovationHub.of(context)! - // .theme - // .secondaryColor(), - // fontSize: 35.0, - // fontWeight: FontWeight.bold, - // ), - // ), - // const SizedBox(height: 25.0), - // SizedBox( - // width: 700, - // child: MIHTextField( - // controller: businessNameController, - // hintText: "Office", - // editable: false, - // required: false, - // ), - // ), - // const SizedBox(height: 10.0), - // SizedBox( - // width: 700, - // child: MIHTextField( - // controller: userNameController, - // hintText: "Created By", - // editable: false, - // required: false, - // ), - // ), - // const SizedBox(height: 10.0), - // SizedBox( - // width: 700, - // child: MIHTextField( - // controller: dateController, - // hintText: "Created Date", - // editable: false, - // required: false, - // ), - // ), - // const SizedBox(height: 10.0), - // SizedBox( - // width: 700, - // child: MIHTextField( - // controller: noteTitleController, - // hintText: "Note Title", - // editable: false, - // required: false, - // ), - // ), - // const SizedBox(height: 10.0), - // Expanded( - // child: MIHMLTextField( - // controller: noteTextController, - // hintText: "Note Details", - // editable: false, - // required: false, - // ), - // ), - // //const SizedBox(height: 25.0), - // // SizedBox( - // // width: 300, - // // height: 100, - // // child: MIHButton( - // // onTap: () { - // // Navigator.pop(context); - // // }, - // // buttonText: "Close", - // // buttonColor: Colors.blueAccent, - // // textColor: Colors.white, - // // ), - // // ) - // ], - // ), - // ), - // Positioned( - // top: 5, - // right: 5, - // width: 50, - // height: 50, - // child: IconButton( - // onPressed: () { - // Navigator.pop(context); - // }, - // icon: Icon( - // Icons.close, - // color: MzanziInnovationHub.of(context)!.theme.errorColor(), - // size: 35, - // ), - // ), - // ), - // Positioned( - // top: 5, - // left: 5, - // width: 50, - // height: 50, - // child: IconButton( - // onPressed: () { - // deletePatientPopUp(selectednote.idpatient_notes); - // }, - // icon: Icon( - // Icons.delete, - // color: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // ), - // ), - // ), - // ], - // ), - // ), - // ); } @override From 9b96ef38391b3ffe6cf447dfbb42bf31791d77ec Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 28 May 2025 11:30:20 +0200 Subject: [PATCH 11/15] env reverse --- Frontend/lib/mih_env/env.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Frontend/lib/mih_env/env.dart b/Frontend/lib/mih_env/env.dart index f86f1312..c96e44e0 100644 --- a/Frontend/lib/mih_env/env.dart +++ b/Frontend/lib/mih_env/env.dart @@ -15,13 +15,13 @@ abstract class AppEnviroment { case Enviroment.dev: { //================= Android Dev Urls ================= - // baseApiUrl = "http://10.0.2.2:8080"; - // baseFileUrl = "http://10.0.2.2:9000"; - // baseAiUrl = "http://10.0.2.2:11434"; + baseApiUrl = "http://10.0.2.2:8080"; + baseFileUrl = "http://10.0.2.2:9000"; + baseAiUrl = "http://10.0.2.2:11434"; //================= Web Dev Urls ================= - baseApiUrl = "http://localhost:8080"; - baseFileUrl = "http://localhost:9000"; - baseAiUrl = "http://localhost:11434"; + // baseApiUrl = "http://localhost:8080"; + // baseFileUrl = "http://localhost:9000"; + // baseAiUrl = "http://localhost:11434"; whatsappAccessToken = "EAAPINXuNFdYBOzBjTcvZA2iPXEHbHRF9uNXyP3ihkPRUcBqKNru5g9NKRRKkFaiaITEzO3BMo6CjdUmlDH4qYTW2mzDrZB4Q21ZCEZBgECZCu27vfaOXJZCYQLNxwoXkrZBRYv8ZAP37f69r3z9JxLQxdxn9gwqA3oNZAlBBRapJQzxOr6pZBTdI3bbjbu17ZBIwRcF4JCqPDCNLEZCI3bmHwEd2i2niNMYZD"; //fingerPrintPluginKey = 'h5X7a5j14iUZCobI1ZeX'; From ff498ef69bf102ecc6383ad3076f09e46804407c Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 28 May 2025 11:30:33 +0200 Subject: [PATCH 12/15] align close and menu --- .../mih_package_window.dart | 241 +++++++++--------- 1 file changed, 115 insertions(+), 126 deletions(-) diff --git a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart index cbaafa11..4ceace9c 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart @@ -54,6 +54,86 @@ class _MihPackageWindowState extends State { } } + Widget getHeader() { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + // color: Colors.white, + decoration: BoxDecoration( + borderRadius: + BorderRadius.circular(25), // Optional: rounds the corners + boxShadow: const [ + BoxShadow( + color: Color.fromARGB( + 60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2) + spreadRadius: -2, + blurRadius: 10, + offset: Offset(0, 5), + ), + ], + ), + child: Padding( + padding: const EdgeInsets.only( + top: 2.0, + left: 5.0, + ), + child: SizedBox( + width: 40, + child: IconButton.filled( + style: ButtonStyle( + backgroundColor: WidgetStateProperty.all( + MzanziInnovationHub.of(context)!.theme.errorColor()), + ), + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + iconSize: 20, + onPressed: () { + widget.onWindowTapClose(); + }, + icon: const Icon( + Icons.close, + ), + ), + ), + ), + ), + Expanded( + child: Text( + widget.windowTitle, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: windowTitleSize, + fontWeight: FontWeight.bold, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + ), + Visibility( + visible: (widget.menuOptions?.isNotEmpty ?? false), + child: Padding( + padding: const EdgeInsets.only( + top: 2.0, + right: 5.0, + ), + child: SizedBox( + width: 40, + child: MihFloatingMenu( + iconSize: 40, + animatedIcon: AnimatedIcons.menu_close, + direction: SpeedDialDirection.down, + children: widget.menuOptions != null ? widget.menuOptions! : [], + ), + ), + ), + ), + // If no menu, add a SizedBox to keep alignment + if (!(widget.menuOptions?.isNotEmpty ?? false)) + const SizedBox(width: 40), + ], + ); + } + @override void dispose() { super.dispose(); @@ -79,138 +159,47 @@ class _MihPackageWindowState extends State { ), insetAnimationCurve: Easing.emphasizedDecelerate, insetAnimationDuration: Durations.short1, - child: Stack( - children: [ - Container( - decoration: BoxDecoration( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - borderRadius: BorderRadius.circular(25.0), - border: Border.all( - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - width: 5.0), - ), - child: widget.fullscreen - ? Column( - mainAxisSize: MainAxisSize.max, - children: [ - const SizedBox(height: 10), - Row( - mainAxisSize: MainAxisSize.max, - children: [ - Expanded( - child: Text( - widget.windowTitle, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: windowTitleSize, - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)! - .theme - .secondaryColor(), - ), - ), - ), - ], + child: Container( + decoration: BoxDecoration( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + borderRadius: BorderRadius.circular(25.0), + border: Border.all( + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + width: 5.0), + ), + child: widget.fullscreen + ? Column( + mainAxisSize: MainAxisSize.max, + children: [ + getHeader(), + const SizedBox(height: 5), + Expanded( + child: SingleChildScrollView(child: widget.windowBody)), + ], + ) + : Column( + mainAxisSize: MainAxisSize.min, + children: [ + getHeader(), + const SizedBox(height: 5), + Flexible( + child: Padding( + padding: EdgeInsets.only( + left: 25, + right: 25, + bottom: vertticalWindowPadding, ), - const SizedBox(height: 5), - Expanded( - child: - SingleChildScrollView(child: widget.windowBody)), - ], - ) - : Column( - mainAxisSize: MainAxisSize.min, - children: [ - const SizedBox(height: 10), - Row( - mainAxisSize: MainAxisSize.max, - children: [ - Expanded( - child: Text( - widget.windowTitle, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: windowTitleSize, - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)! - .theme - .secondaryColor(), - ), - ), - ), - ], - ), - const SizedBox(height: 5), - Flexible( - child: Padding( - padding: EdgeInsets.only( - left: 25, - right: 25, - bottom: vertticalWindowPadding, - ), - child: ConstrainedBox( - constraints: BoxConstraints( - maxHeight: windowHeight * 0.85, - maxWidth: windowWidth * 0.85, - ), - child: - MihSingleChildScroll(child: widget.windowBody), - ), + child: ConstrainedBox( + constraints: BoxConstraints( + maxHeight: windowHeight * 0.85, + maxWidth: windowWidth * 0.85, ), + child: MihSingleChildScroll(child: widget.windowBody), ), - ], - ), - ), - Positioned( - top: 10, - left: 10, - child: Container( - // color: Colors.white, - alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(25), // Optional: rounds the corners - boxShadow: const [ - BoxShadow( - color: Color.fromARGB( - 60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2) - spreadRadius: -2, - blurRadius: 10, - offset: Offset(0, 5), + ), ), ], ), - child: IconButton.filled( - style: ButtonStyle( - backgroundColor: WidgetStateProperty.all( - MzanziInnovationHub.of(context)!.theme.errorColor()), - ), - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - iconSize: 20, - onPressed: () { - widget.onWindowTapClose(); - }, - icon: const Icon( - Icons.close, - ), - ), - ), - ), - Visibility( - visible: (widget.menuOptions?.isNotEmpty ?? false), - child: Positioned( - top: 10, - right: 10, - child: MihFloatingMenu( - iconSize: 40, - animatedIcon: AnimatedIcons.menu_close, - direction: SpeedDialDirection.down, - children: widget.menuOptions != null ? widget.menuOptions! : [], - ), - ), - ), - ], ), ); } From 51b9859285a87a8a23c92c541421ff995fc245da Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 28 May 2025 12:08:16 +0200 Subject: [PATCH 13/15] add padding to window title --- .../mih_package_window.dart | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart index 4ceace9c..dc44a614 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_package_window.dart @@ -99,13 +99,17 @@ class _MihPackageWindowState extends State { ), ), Expanded( - child: Text( - widget.windowTitle, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: windowTitleSize, - fontWeight: FontWeight.bold, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 10.0), + child: Text( + widget.windowTitle, + overflow: TextOverflow.ellipsis, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: windowTitleSize, + fontWeight: FontWeight.bold, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), ), ), ), From abd6ebb33109c70ebc1c989a57970958965b254b Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 28 May 2025 12:08:40 +0200 Subject: [PATCH 14/15] update patient manager window menu --- .../build_claim_statement_files_list.dart | 184 ++++++++++++-- .../list_builders/build_file_view.dart | 153 ++---------- .../list_builders/build_files_list.dart | 224 +++++++++++------- 3 files changed, 314 insertions(+), 247 deletions(-) diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart index 65b98116..f3f8dd58 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_claim_statement_files_list.dart @@ -1,3 +1,6 @@ +import 'dart:async'; + +import 'package:fl_downloader/fl_downloader.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_claim_statement_generation_api.dart'; @@ -5,6 +8,7 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart'; 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_env/env.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; @@ -15,6 +19,9 @@ import 'package:mzansi_innovation_hub/mih_objects/claim_statement_file.dart'; import 'package:mzansi_innovation_hub/mih_objects/patients.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart'; import 'package:flutter/material.dart'; +import 'package:supertokens_flutter/http.dart' as http; +import 'package:http/http.dart' as http2; +import "package:universal_html/html.dart" as html; class BuildClaimStatementFileList extends StatefulWidget { final AppUser signedInUser; @@ -46,6 +53,8 @@ class _BuildClaimStatementFileListState final baseAPI = AppEnviroment.baseApiUrl; final basefile = AppEnviroment.baseFileUrl; String fileUrl = ""; + int progress = 0; + late StreamSubscription progressStream; Future getFileUrlApiCall(String filePath) async { String teporaryFileUrl = ""; @@ -106,16 +115,135 @@ class _BuildClaimStatementFileListState ); } + String getFileName(String path) { + //print(pdfLink.split(".")[1]); + return path.split("/").last; + } + + void printDocument(String link, String path) async { + http2.Response response = await http.get(Uri.parse(link)); + var pdfData = response.bodyBytes; + Navigator.of(context).pushNamed( + '/file-veiwer/print-preview', + arguments: PrintPreviewArguments( + pdfData, + getFileName(path), + ), + ); + } + + void nativeFileDownload(String fileLink) async { + var permission = await FlDownloader.requestPermission(); + if (permission == StoragePermissionStatus.granted) { + try { + mihLoadingPopUp(); + await FlDownloader.download(fileLink); + Navigator.of(context).pop(); + } on Exception catch (error) { + Navigator.of(context).pop(); + print(error); + } + } else { + print("denied"); + } + } + void viewFilePopUp(String fileName, String filePath, int fileID, String url) { bool hasAccessToDelete = false; if (widget.type == "business") { hasAccessToDelete = true; } + + List? menuList = [ + SpeedDialChild( + child: Icon( + Icons.download, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Download", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + if (MzanziInnovationHub.of(context)!.theme.getPlatform() == "Web") { + html.window.open(url, 'download'); + } else { + nativeFileDownload(url); + } + }, + ), + ]; + menuList.add( + SpeedDialChild( + child: Icon( + Icons.print, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Print", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + printDocument(url, filePath); + }, + ), + ); + menuList.add( + SpeedDialChild( + child: Icon( + Icons.fullscreen, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Full Screen", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + printDocument(url, filePath); + }, + ), + ); + + if (hasAccessToDelete) { + menuList.add( + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Document", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteFilePopUp(filePath, fileID); + }, + ), + ); + } + showDialog( context: context, barrierDismissible: false, builder: (context) => MihPackageWindow( - fullscreen: true, + fullscreen: false, windowTitle: fileName, windowBody: Column( children: [ @@ -129,30 +257,7 @@ class _BuildClaimStatementFileListState ) ], ), - menuOptions: hasAccessToDelete - ? [ - SpeedDialChild( - child: Icon( - Icons.delete, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Document", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - deleteFilePopUp(filePath, fileID); - }, - ), - ] - : null, + menuOptions: menuList, onWindowTapClose: () { Navigator.pop(context); }, @@ -160,12 +265,41 @@ class _BuildClaimStatementFileListState ); } + void mihLoadingPopUp() { + showDialog( + context: context, + builder: (context) { + return const Mihloadingcircle(); + }, + ); + } + @override void dispose() { // TODO: implement dispose super.dispose(); } + @override + void initState() { + super.initState(); + FlDownloader.initialize(); + progressStream = FlDownloader.progressStream.listen((event) { + if (event.status == DownloadStatus.successful) { + setState(() { + progress = event.progress; + }); + //Navigator.of(context).pop(); + print("Progress $progress%: Success Downloading"); + FlDownloader.openFile(filePath: event.filePath); + } else if (event.status == DownloadStatus.failed) { + print("Progress $progress%: Error Downloading"); + } else if (event.status == DownloadStatus.running) { + print("Progress $progress%: Download Running"); + } + }); + } + @override Widget build(BuildContext context) { if (widget.files.isNotEmpty) { diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart index 96922521..3ab1d363 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart @@ -6,7 +6,6 @@ import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_core/theme.dart'; import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart'; -import "package:universal_html/html.dart" as html; import 'package:http/http.dart' as http; import 'package:fl_downloader/fl_downloader.dart'; @@ -117,147 +116,27 @@ class _BuildFileViewState extends State { if (getExtType(widget.path).toLowerCase() == "pdf") { return SizedBox( height: 500, - child: Stack( - fit: StackFit.expand, - children: [ - SfPdfViewerTheme( - data: SfPdfViewerThemeData( - backgroundColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - child: SfPdfViewer.network( - widget.link, - controller: pdfViewerController, - interactionMode: PdfInteractionMode.pan, - ), - ), - Positioned( - bottom: 10, - right: 10, - width: 50, - height: 50, - child: IconButton.filled( - iconSize: 35, - padding: const EdgeInsets.all(0), - onPressed: () { - printDocument(); - }, - icon: Icon( - Icons.print, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - ), - ), - Positioned( - bottom: 10, - left: 10, - width: 50, - height: 50, - child: IconButton.filled( - iconSize: 35, - padding: const EdgeInsets.all(0), - onPressed: () async { - // debugPrint( - // "I'm here ${MzanziInnovationHub.of(context)!.theme.getPlatform()}"); - if (MzanziInnovationHub.of(context)!.theme.getPlatform() == - "Web") { - html.window.open( - widget.link, - // '${AppEnviroment.baseFileUrl}/mih/$filePath', - 'download'); - } else { - // print("Here"); - // var permission = await FlDownloader.requestPermission(); - // if (permission == StoragePermissionStatus.granted) { - // await FlDownloader.download(widget.link); - // } else { - // print("denied"); - // } - nativeFileDownload(widget.link); - } - }, - icon: Icon( - Icons.download, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - ), - ), - ], + child: SfPdfViewerTheme( + data: SfPdfViewerThemeData( + backgroundColor: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + child: SfPdfViewer.network( + widget.link, + controller: pdfViewerController, + interactionMode: PdfInteractionMode.pan, + ), ), ); } else { return SizedBox( height: 500, - child: Stack( - fit: StackFit.expand, - children: [ - InteractiveViewer( - //constrained: true, - //clipBehavior: Clip.antiAlias, - maxScale: 5.0, - //minScale: 0., - child: Image.network(widget.link), - ), - Positioned( - bottom: 10, - right: 10, - width: 50, - height: 50, - child: IconButton.filled( - iconSize: 35, - padding: const EdgeInsets.all(0), - onPressed: () { - //expandImage(width, height); - Navigator.of(context).pushNamed( - '/file-veiwer', - arguments: FileViewArguments( - widget.link, - widget.path, - ), - ); - }, - icon: Icon( - Icons.fullscreen, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - ), - ), - Positioned( - bottom: 10, - left: 10, - width: 50, - height: 50, - child: IconButton.filled( - iconSize: 35, - padding: const EdgeInsets.all(0), - onPressed: () async { - // debugPrint("I'm here "); - // debugPrint( - // "I'm here ${MzanziInnovationHub.of(context)!.theme.getPlatform()}"); - if (MzanziInnovationHub.of(context)!.theme.getPlatform() == - "Web") { - html.window.open( - widget.link, - // '${AppEnviroment.baseFileUrl}/mih/$filePath', - 'download'); - } else { - //print("Here"); - // var permission = await FlDownloader.requestPermission(); - // if (permission == StoragePermissionStatus.granted) { - // await FlDownloader.download(widget.link); - // } else { - // print("denied"); - // } - nativeFileDownload(widget.link); - } - }, - icon: Icon( - Icons.download, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - ), - ), - ], + child: InteractiveViewer( + //constrained: true, + //clipBehavior: Clip.antiAlias, + maxScale: 5.0, + //minScale: 0., + child: Image.network(widget.link), ), ); } diff --git a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart index d88674a1..9d85614d 100644 --- a/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart +++ b/Frontend/lib/mih_packages/patient_profile/pat_profile/list_builders/build_files_list.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:convert'; import 'package:fl_downloader/fl_downloader.dart'; @@ -50,6 +51,8 @@ class _BuildFilesListState extends State { final baseAPI = AppEnviroment.baseApiUrl; final basefile = AppEnviroment.baseFileUrl; String fileUrl = ""; + int progress = 0; + late StreamSubscription progressStream; Future getFileUrlApiCall(String filePath) async { String teporaryFileUrl = ""; @@ -200,6 +203,121 @@ class _BuildFilesListState extends State { if (widget.type == "business") { hasAccessToDelete = true; } + + List? menuList = [ + SpeedDialChild( + child: Icon( + Icons.download, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Download", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + if (MzanziInnovationHub.of(context)!.theme.getPlatform() == "Web") { + html.window.open(url, 'download'); + } else { + nativeFileDownload(url); + } + }, + ), + ]; + if (filePath.split(".").last.toLowerCase() == "pdf") { + menuList.add( + SpeedDialChild( + child: Icon( + Icons.print, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Print", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + printDocument(url, filePath); + }, + ), + ); + menuList.add( + SpeedDialChild( + child: Icon( + Icons.fullscreen, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Full Screen", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + printDocument(url, filePath); + }, + ), + ); + } else { + menuList.add( + SpeedDialChild( + child: Icon( + Icons.fullscreen, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Full Screen", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + Navigator.of(context).pushNamed( + '/file-veiwer', + arguments: FileViewArguments( + url, + filePath, + ), + ); + }, + ), + ); + } + if (hasAccessToDelete) { + menuList.add( + SpeedDialChild( + child: Icon( + Icons.delete, + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + label: "Delete Document", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + deleteFilePopUp(filePath, fileID); + }, + ), + ); + } showDialog( context: context, barrierDismissible: false, @@ -211,91 +329,7 @@ class _BuildFilesListState extends State { path: filePath, //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', ), - menuOptions: [ - SpeedDialChild( - child: Icon( - Icons.download, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Download", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - if (MzanziInnovationHub.of(context)!.theme.getPlatform() == - "Web") { - html.window.open(url, 'download'); - } else { - nativeFileDownload(url); - } - printDocument(url, filePath); - }, - ), - SpeedDialChild( - child: Icon( - Icons.print, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Print", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - printDocument(url, filePath); - }, - ), - hasAccessToDelete == true - ? SpeedDialChild( - child: Icon( - Icons.delete, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Delete Document", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - deleteFilePopUp(filePath, fileID); - }, - ) - : SpeedDialChild( - child: Icon( - Icons.fullscreen, - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), - label: "Full Screen", - labelBackgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - labelStyle: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - fontWeight: FontWeight.bold, - ), - backgroundColor: - MzanziInnovationHub.of(context)!.theme.successColor(), - onTap: () { - printDocument(url, filePath); - }, - ), - ], + menuOptions: menuList, onWindowTapClose: () { Navigator.pop(context); }, @@ -318,6 +352,26 @@ class _BuildFilesListState extends State { super.dispose(); } + @override + void initState() { + super.initState(); + FlDownloader.initialize(); + progressStream = FlDownloader.progressStream.listen((event) { + if (event.status == DownloadStatus.successful) { + setState(() { + progress = event.progress; + }); + //Navigator.of(context).pop(); + print("Progress $progress%: Success Downloading"); + FlDownloader.openFile(filePath: event.filePath); + } else if (event.status == DownloadStatus.failed) { + print("Progress $progress%: Error Downloading"); + } else if (event.status == DownloadStatus.running) { + print("Progress $progress%: Download Running"); + } + }); + } + @override Widget build(BuildContext context) { if (widget.files.isNotEmpty) { From 193fc79a3df8d636c5973fce6033f1be7c4e55c7 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 28 May 2025 12:41:09 +0200 Subject: [PATCH 15/15] Ai window menu fix --- .../mzansi_ai/package_tools/ai_chat.dart | 147 +++++------------- 1 file changed, 36 insertions(+), 111 deletions(-) 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 38710cd0..229160eb 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 @@ -172,64 +172,32 @@ class _AiChatState extends State { return MihPackageWindow( fullscreen: false, windowTitle: 'Mzansi AI Thoughts', - // menuOptions: Row( - // children: [ - // Visibility( - // visible: _aiThinking == false, - // child: Padding( - // padding: const EdgeInsets.all(5.0), - // child: Container( - // //color: MzanziInnovationHub.of(context)!.theme.successColor(), - // decoration: BoxDecoration( - // color: MzanziInnovationHub.of(context)! - // .theme - // .successColor(), - // borderRadius: const BorderRadius.all( - // Radius.circular(100), - // ), - // ), - // child: IconButton( - // color: MzanziInnovationHub.of(context)! - // .theme - // .primaryColor(), - // onPressed: () async { - // print("Start TTS now"); - - // _speakText(snapshot.requireData); - // }, - // icon: const Icon(Icons.volume_up), - // ), - // ), - // ), - // ), - // Visibility( - // visible: _aiThinking == true, - // child: Padding( - // padding: const EdgeInsets.all(5.0), - // child: Container( - // // color: MzanziInnovationHub.of(context)!.theme.errorColor(), - // decoration: BoxDecoration( - // color: - // MzanziInnovationHub.of(context)!.theme.errorColor(), - // borderRadius: const BorderRadius.all( - // Radius.circular(100), - // ), - // ), - // child: IconButton( - // color: MzanziInnovationHub.of(context)! - // .theme - // .primaryColor(), - // onPressed: () { - // //print("Start TTS now"); - // _flutterTts.stop(); - // }, - // icon: const Icon(Icons.volume_off), - // ), - // ), - // ), - // ), - // ], - // ), + menuOptions: _aiThinking == true + ? null + : [ + SpeedDialChild( + child: Icon( + Icons.volume_up, + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + ), + label: "Read Aloud", + labelBackgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + labelStyle: TextStyle( + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + fontWeight: FontWeight.bold, + ), + backgroundColor: + MzanziInnovationHub.of(context)!.theme.successColor(), + onTap: () { + _speakText(snapshot.requireData); + }, + ) + ], onWindowTapClose: () { _captureAIResponse(snapshot.requireData); _flutterTts.stop(); @@ -241,59 +209,16 @@ class _AiChatState extends State { child: Column( mainAxisSize: MainAxisSize.max, children: [ - Stack( - children: [ - Text( - snapshot.requireData, - textAlign: TextAlign.left, - style: TextStyle( - color: MzanziInnovationHub.of(context)! - .theme - .secondaryColor(), - fontSize: _chatFrontSize, - fontWeight: FontWeight.bold, - ), - ), - Positioned( - bottom: 0, - right: 0, - child: Visibility( - visible: _aiThinking == false, - child: IconButton.filled( - iconSize: 25, - autofocus: true, - onPressed: () { - _captureAIResponse(snapshot.requireData); - _flutterTts.stop(); - Navigator.of(context).pop(); - }, - focusColor: MzanziInnovationHub.of(context)! - .theme - .successColor(), - icon: Icon( - Icons.check, - color: MzanziInnovationHub.of(context)! - .theme - .primaryColor(), - ), - ), - - // MIHButton( - // onTap: () { - // _captureAIResponse(snapshot.requireData); - // Navigator.of(context).pop(); - // }, - // buttonText: "Continue", - // buttonColor: MzanziInnovationHub.of(context)! - // .theme - // .successColor(), - // textColor: MzanziInnovationHub.of(context)! - // .theme - // .primaryColor(), - // ), - ), - ), - ], + Text( + snapshot.requireData, + textAlign: TextAlign.left, + style: TextStyle( + color: MzanziInnovationHub.of(context)! + .theme + .secondaryColor(), + fontSize: _chatFrontSize, + fontWeight: FontWeight.bold, + ), ), ], ),