From 6a8b9c6902c37568aa8fc9bea8426053d1adb9ea Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Tue, 9 Dec 2025 19:14:50 +0200 Subject: [PATCH] QOL: Package Tile Update --- .../Example/package_test.dart | 13 +- .../package_tools/package_tool_one.dart | 2 +- .../mih_package_tile.dart | 9 +- .../package_tile/about_mih_tile.dart | 4 +- .../about_mih/package_tools/mih_info.dart | 44 +- .../package_tile/mih_access_tile.dart | 4 +- .../package_tiles/mih_calculator_tile.dart | 4 +- .../package_tiles/mzansi_calendar_tile.dart | 4 +- .../package_tools/mih_sign_in.dart | 12 +- .../package_tiles/mih_mine_sweeper_tile.dart | 4 +- .../package_tiles/mzansi_ai_tile.dart | 4 +- .../mzansi_ai/package_tools/mih_ai_chat.dart | 75 +- .../package_tiles/mzansi_directory_tile.dart | 4 +- .../components/mih_business_info_card.dart | 703 ------------------ .../mzansi_business_profile_tile.dart | 4 +- .../mzansi_setup_business_profile_tile.dart | 4 +- .../package_tools/mih_business_details.dart | 2 +- .../mih_business_details_view.dart | 2 +- .../package_tiles/mzansi_profile_tile.dart | 4 +- .../mzansi_setup_profile_tile.dart | 4 +- .../package_tiles/mih_wallet_tile.dart | 4 +- .../package_tiles/pat_manager_tile.dart | 4 +- .../package_tiles/patient_profile_tile.dart | 4 +- 23 files changed, 102 insertions(+), 816 deletions(-) delete mode 100644 Frontend/lib/mih_packages/mzansi_profile/business_profile/components/mih_business_info_card.dart diff --git a/Frontend/lib/mih_package_components/Example/package_test.dart b/Frontend/lib/mih_package_components/Example/package_test.dart index ab866b71..f69cb639 100644 --- a/Frontend/lib/mih_package_components/Example/package_test.dart +++ b/Frontend/lib/mih_package_components/Example/package_test.dart @@ -1,4 +1,5 @@ import 'package:go_router/go_router.dart'; +import 'package:mzansi_innovation_hub/mih_package_components/Example/package_tools/package_tool_three.dart'; import 'package:mzansi_innovation_hub/mih_package_components/Example/package_tools/package_tool_zero.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package_action.dart'; @@ -62,21 +63,26 @@ class _PackageTestState extends State { MihPackageTools getTools() { Map temp = Map(); - temp[const Icon(Icons.warning)] = () { + temp[const Icon(Icons.link)] = () { setState(() { _selcetedIndex = 0; }); }; - temp[const Icon(Icons.inbox)] = () { + temp[const Icon(Icons.warning)] = () { setState(() { _selcetedIndex = 1; }); }; - temp[const Icon(Icons.outbond)] = () { + temp[const Icon(Icons.inbox)] = () { setState(() { _selcetedIndex = 2; }); }; + temp[const Icon(Icons.outbond)] = () { + setState(() { + _selcetedIndex = 3; + }); + }; return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, @@ -91,6 +97,7 @@ class _PackageTestState extends State { MzansiProfileProvider profileProvider = context.read(); List toolBodies = [ + const PackageToolThree(), const PackageToolZero(), PackageToolOne( user: profileProvider.user!, diff --git a/Frontend/lib/mih_package_components/Example/package_tools/package_tool_one.dart b/Frontend/lib/mih_package_components/Example/package_tools/package_tool_one.dart index 487c9994..3406a341 100644 --- a/Frontend/lib/mih_package_components/Example/package_tools/package_tool_one.dart +++ b/Frontend/lib/mih_package_components/Example/package_tools/package_tool_one.dart @@ -10,7 +10,7 @@ import 'package:mzansi_innovation_hub/mih_objects/business.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_banner_ad.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; -import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/components/mih_business_info_card.dart'; +import 'package:mzansi_innovation_hub/mih_package_components/mih_business_info_card.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_location_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart'; diff --git a/Frontend/lib/mih_package_components/mih_package_tile.dart b/Frontend/lib/mih_package_components/mih_package_tile.dart index dadf0cab..a8f46b31 100644 --- a/Frontend/lib/mih_package_components/mih_package_tile.dart +++ b/Frontend/lib/mih_package_components/mih_package_tile.dart @@ -15,8 +15,7 @@ class MihPackageTile extends StatefulWidget { final Widget appIcon; final void Function() onTap; final double iconSize; - final Color primaryColor; - final Color secondaryColor; + final Color textColor; final bool? authenticateUser; const MihPackageTile({ super.key, @@ -25,8 +24,7 @@ class MihPackageTile extends StatefulWidget { this.ytVideoID, required this.appIcon, required this.iconSize, - required this.primaryColor, - required this.secondaryColor, + required this.textColor, this.authenticateUser, }); @@ -204,8 +202,7 @@ class _MihPackageTileState extends State { // softWrap: true, // overflow: TextOverflow.visible, style: TextStyle( - color: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + color: widget.textColor, fontSize: 20.0, fontWeight: FontWeight.bold, ), 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 e46cbe19..c1e28031 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 @@ -37,9 +37,7 @@ class _AboutMihTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 91b2e034..6493c1b2 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 @@ -356,9 +356,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -376,9 +374,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -396,9 +392,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -416,9 +410,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -436,9 +428,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -456,9 +446,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -477,9 +465,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -497,9 +483,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -517,9 +501,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -537,9 +519,7 @@ class _MihInfoState extends State { ), ), iconSize: 200, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== @@ -565,9 +545,7 @@ class _MihInfoState extends State { // ), ), iconSize: 100, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), )); //================================================================== 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 e58b387b..759ee745 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 @@ -39,9 +39,7 @@ class _MihAccessTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 62daac41..6aa393b1 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 @@ -34,9 +34,7 @@ class _MihCalculatorTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 93c1b680..f29fff14 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 @@ -38,9 +38,7 @@ class _MzansiCalendarTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } diff --git a/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart b/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart index 7de9afe2..69c327f0 100644 --- a/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart +++ b/Frontend/lib/mih_packages/mih_authentication/package_tools/mih_sign_in.dart @@ -87,8 +87,7 @@ class _MihSignInState extends State { size: 200, ), iconSize: 200, - primaryColor: getPrim(), - secondaryColor: getSec(), + textColor: getPrim(), authenticateUser: false, )); tileList.add(MihPackageTile( @@ -110,8 +109,7 @@ class _MihSignInState extends State { size: 200, ), iconSize: 200, - primaryColor: getPrim(), - secondaryColor: getSec(), + textColor: getPrim(), authenticateUser: false, )); //if (AppEnviroment.getEnv() == "Dev") { @@ -134,8 +132,7 @@ class _MihSignInState extends State { size: 200, ), iconSize: 200, - primaryColor: getPrim(), - secondaryColor: getSec(), + textColor: getPrim(), authenticateUser: false, )); tileList.add(MihPackageTile( @@ -157,8 +154,7 @@ class _MihSignInState extends State { size: 200, ), iconSize: 200, - primaryColor: getPrim(), - secondaryColor: getSec(), + textColor: getPrim(), authenticateUser: false, )); //} diff --git a/Frontend/lib/mih_packages/mine_sweeper/package_tiles/mih_mine_sweeper_tile.dart b/Frontend/lib/mih_packages/mine_sweeper/package_tiles/mih_mine_sweeper_tile.dart index aa324b7d..7171697d 100644 --- a/Frontend/lib/mih_packages/mine_sweeper/package_tiles/mih_mine_sweeper_tile.dart +++ b/Frontend/lib/mih_packages/mine_sweeper/package_tiles/mih_mine_sweeper_tile.dart @@ -33,9 +33,7 @@ class _MihMineSweeperTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 e2fbcb75..47c94016 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 @@ -41,9 +41,7 @@ class _MzansiAiTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } diff --git a/Frontend/lib/mih_packages/mzansi_ai/package_tools/mih_ai_chat.dart b/Frontend/lib/mih_packages/mzansi_ai/package_tools/mih_ai_chat.dart index e68f9750..7512c6a7 100644 --- a/Frontend/lib/mih_packages/mzansi_ai/package_tools/mih_ai_chat.dart +++ b/Frontend/lib/mih_packages/mzansi_ai/package_tools/mih_ai_chat.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_ai_toolkit/flutter_ai_toolkit.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:flutter_tts/flutter_tts.dart'; +import 'package:intl/intl.dart'; import 'package:ken_logger/ken_logger.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_button.dart'; @@ -12,6 +13,7 @@ import 'package:mzansi_innovation_hub/mih_package_components/mih_floating_menu.d import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_providers/mzansi_ai_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; +import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart'; import 'package:provider/provider.dart'; class MihAiChat extends StatefulWidget { @@ -123,26 +125,63 @@ class _MihAiChatState extends State with WidgetsBindingObserver { } } - void saveHistory(MzansiAiProvider aiProvider) { + void saveHistory( + MzansiProfileProvider profileProvider, MzansiAiProvider aiProvider) { final history = aiProvider.ollamaProvider.history.toList(); - String jsonHistory = '{"conversation_id":"1234-asdf-5678-qwert",\n'; - // jsonHistory += '"app_id":"${}"\n'; - jsonHistory += '"messages":[\n'; - KenLogger.success("History Length: ${history.length}"); - for (int i = 0; i != history.length; i++) { + DateTime now = DateTime.now(); + DateFormat formatter = DateFormat('yyyy-MM-ddTHH:mm:ss'); + String formattedDateTimeNow = formatter.format(now); + + // 1. Build the list of message Maps + List> messages = []; + for (int i = 0; i < history.length; i++) { final map = history[i].toJson(); - final json = JsonEncoder.withIndent(' ').convert(map); - jsonHistory += json; - if (i != history.length - 1) { - KenLogger.success("i: $i"); - jsonHistory += ","; - } - jsonHistory += "\n"; + map["order"] = i; // Add the order field + messages.add(map); } - jsonHistory += ']}'; + + // 2. Build the main history Map (the root JSON object) + final historyMap = { + "conversation_id": "1234-asdf-5678-qwert", + "app_id": profileProvider.user!.app_id, + "modified_date": formattedDateTimeNow, + "messages": messages, // The list of messages is included here + }; + + // 3. Use JsonEncoder to convert the entire Map to a formatted JSON string + const encoder = JsonEncoder.withIndent(' '); + String jsonHistory = encoder.convert(historyMap); + + // The output string will now be a correctly formatted and escaped JSON object. debugPrint("History: $jsonHistory"); } + // void saveHistory( + // MzansiProfileProvider profileProvider, MzansiAiProvider aiProvider) { + // final history = aiProvider.ollamaProvider.history.toList(); + // DateTime now = DateTime.now(); + // DateFormat formatter = DateFormat('yyyy-MM-ddTHH:mm:ss'); + // String formattedDateTimeNow = formatter.format(now); + // String jsonHistory = '{"conversation_id":"1234-asdf-5678-qwert",\n'; + // jsonHistory += '"app_id":"${profileProvider.user!.app_id}",\n'; + // jsonHistory += '"modified_date":"$formattedDateTimeNow",\n'; + // jsonHistory += '"messages":[\n'; + // KenLogger.success("History Length: ${history.length}"); + // for (int i = 0; i != history.length; i++) { + // final map = history[i].toJson(); + // map["order"] = i; + // final json = JsonEncoder.withIndent(' ').convert(map); + // jsonHistory += json; + // if (i != history.length - 1) { + // KenLogger.success("i: $i"); + // jsonHistory += ","; + // } + // jsonHistory += "\n"; + // } + // jsonHistory += ']}'; + // debugPrint("History: $jsonHistory"); + // } + void stopTTS(MzansiAiProvider aiProvider) { _flutterTts.stop(); aiProvider.setTTSstate(false); @@ -235,9 +274,9 @@ class _MihAiChatState extends State with WidgetsBindingObserver { @override Widget build(BuildContext context) { - return Consumer( - builder: - (BuildContext context, MzansiAiProvider aiProvider, Widget? child) { + return Consumer2( + builder: (BuildContext context, MzansiProfileProvider profileProvider, + MzansiAiProvider aiProvider, Widget? child) { bool hasHistory = aiProvider.ollamaProvider.history.isNotEmpty; String? lastMessage; if (hasHistory) { @@ -269,7 +308,7 @@ class _MihAiChatState extends State with WidgetsBindingObserver { width: 200, height: 30, onPressed: () { - saveHistory(aiProvider); + saveHistory(profileProvider, aiProvider); }, buttonColor: MihColors.getGreenColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), diff --git a/Frontend/lib/mih_packages/mzansi_directory/package_tiles/mzansi_directory_tile.dart b/Frontend/lib/mih_packages/mzansi_directory/package_tiles/mzansi_directory_tile.dart index 4fe5ae30..aeb5b6f4 100644 --- a/Frontend/lib/mih_packages/mzansi_directory/package_tiles/mzansi_directory_tile.dart +++ b/Frontend/lib/mih_packages/mzansi_directory/package_tiles/mzansi_directory_tile.dart @@ -40,9 +40,7 @@ class _MzansiDirectoryTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/components/mih_business_info_card.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/components/mih_business_info_card.dart deleted file mode 100644 index b17b53a6..00000000 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/components/mih_business_info_card.dart +++ /dev/null @@ -1,703 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import 'package:mzansi_innovation_hub/main.dart'; -import 'package:mzansi_innovation_hub/mih_objects/bookmarked_business.dart'; -import 'package:mzansi_innovation_hub/mih_objects/business.dart'; -import 'package:mzansi_innovation_hub/mih_objects/business_review.dart'; -import 'package:mzansi_innovation_hub/mih_package_components/mih_button.dart'; -import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart'; -import 'package:mzansi_innovation_hub/mih_package_components/mih_package_window.dart'; -import 'package:mzansi_innovation_hub/mih_providers/mzansi_directory_provider.dart'; -import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; -import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/components/mih_add_bookmark_alert.dart'; -import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/components/mih_delete_bookmark_alert.dart'; -import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/components/mih_review_business_window.dart'; -import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart'; -import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; -import 'package:mzansi_innovation_hub/mih_services/mih_business_details_services.dart'; -import 'package:mzansi_innovation_hub/mih_services/mih_file_services.dart'; -import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_directory_services.dart'; -import 'package:provider/provider.dart'; -import 'package:redacted/redacted.dart'; -import 'package:supertokens_flutter/supertokens.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class MihBusinessCard extends StatefulWidget { - final Business business; - final double width; - const MihBusinessCard({ - super.key, - required this.business, - required this.width, - }); - - @override - State createState() => _MihBusinessCardState(); -} - -class _MihBusinessCardState extends State { - Future? _businessReviewFuture; - Future? _bookmarkedBusinessFuture; - bool _isUserSignedIn = false; - - Future _checkUserSession() async { - final doesSessionExist = await SuperTokens.doesSessionExist(); - setState(() { - _isUserSignedIn = doesSessionExist; - }); - } - - RedactedConfiguration getRedactedConfiguration() { - return RedactedConfiguration( - // redactedColor: Colors.pink, - redactedColor: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - ); - } - - Future _makePhoneCall(String phoneNumber) async { - String formattedNumber = phoneNumber.replaceAll("-", ""); - final Uri url = Uri(scheme: 'tel', path: formattedNumber); - if (await canLaunchUrl(url)) { - await launchUrl(url); - } else { - MihAlertServices().errorBasicAlert( - "Error Making Call", - "We couldn't open your phone app to call $formattedNumber. To fix this, make sure you have a phone application installed and it's set as your default dialer.", - context, - ); - } - } - - String? _encodeQueryParameters(Map params) { - return params.entries - .map((MapEntry e) => - '${Uri.encodeComponent(e.key)}=${Uri.encodeComponent(e.value)}') - .join('&'); - } - - Future _launchEmail( - String recipient, String subject, String body) async { - final Uri emailLaunchUri = Uri( - scheme: 'mailto', - path: recipient, - query: _encodeQueryParameters({ - 'subject': subject, - 'body': body, - }), - ); - - if (await canLaunchUrl(emailLaunchUri)) { - await launchUrl(emailLaunchUri); - } else { - MihAlertServices().errorBasicAlert( - "Error Creating Email", - "We couldn't launch your email app to send a message to $recipient. To fix this, please confirm that you have an email application installed and that it's set as your default.", - context, - ); - } - } - - Future _launchGoogleMapsWithUrl({ - required double latitude, - required double longitude, - String? label, - }) async { - final Uri googleMapsUrl = Uri.parse( - 'https://www.google.com/maps/search/?api=1&query=$latitude,$longitude${label != null ? '&query_place_id=' : ''}', - ); - try { - if (await canLaunchUrl(googleMapsUrl)) { - await launchUrl(googleMapsUrl); - } else { - MihAlertServices().errorBasicAlert( - "Error Opening Maps", - "There was an issue opening maps for ${widget.business.Name}. This usually happens if you don't have a maps app installed or it's not set as your default. Please install one to proceed.", - context, - ); - } - } catch (e) { - MihAlertServices().errorBasicAlert( - "Error Opening Maps", - "There was an issue opening maps for ${widget.business.Name}. This usually happens if you don't have a maps app installed or it's not set as your default. Please install one to proceed.", - context, - ); - } - } - - Future _launchWebsite(String urlString) async { - String newUrl = urlString; - if (!newUrl.startsWith("https://")) { - newUrl = "https://$urlString"; - } - final Uri url = Uri.parse(newUrl); - try { - if (await canLaunchUrl(url)) { - await launchUrl(url); - } else { - MihAlertServices().errorBasicAlert( - "Error Opening Website", - "We couldn't open the link to $newUrl. To view this website, please ensure you have a web browser installed and set as your default.", - context, - ); - } - } catch (e) { - MihAlertServices().errorBasicAlert( - "Error Opening Website", - "We couldn't open the link to $newUrl. To view this website, please ensure you have a web browser installed and set as your default.", - context, - ); - } - } - - Widget _buildContactInfo( - String label, - String subLabel, - IconData icon, - Color? iconColor, - bool redacted, - Function()? ontap, - ) { - return Material( - color: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - child: InkWell( - onTap: ontap, - splashColor: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark") - .withOpacity(0.2), - borderRadius: BorderRadius.circular(15), - child: Padding( - padding: EdgeInsetsGeometry.symmetric( - // vertical: 5, - horizontal: 25, - ), - child: Row( - children: [ - Container( - width: 45, - height: 45, - decoration: BoxDecoration( - color: iconColor, - borderRadius: BorderRadius.circular(15), - ), - padding: const EdgeInsets.all(5.0), - child: FittedBox( - child: Icon( - icon, - // size: 35, - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - ), - ), - ).redacted( - context: context, - redact: redacted, - configuration: getRedactedConfiguration(), - ), - SizedBox(width: 20), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - children: [ - Text( - label, - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.bold, - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - height: 1.0, - ), - ).redacted( - context: context, - redact: redacted, - configuration: getRedactedConfiguration(), - ), - Text( - subLabel, - style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w700, - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - ), - ).redacted( - context: context, - redact: redacted, - configuration: getRedactedConfiguration(), - ), - ], - ), - ), - ], - ), - ), - ), - ); - } - - Future getUserReview() async { - String user_id = await SuperTokens.getUserId(); - return await MihMzansiDirectoryServices().getUserReviewOfBusiness( - user_id, - widget.business.business_id, - ); - } - - Future getUserBookmark() async { - String user_id = await SuperTokens.getUserId(); - return await MihMzansiDirectoryServices().getUserBookmarkOfBusiness( - user_id, - widget.business.business_id, - ); - } - - bool isValidGps(String coordinateString) { - final RegExp gpsRegex = RegExp( - r"^-?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*-?(1[0-7]\d(\.\d+)?|180(\.0+)?|\d{1,2}(\.\d+)?)$"); - return gpsRegex.hasMatch(coordinateString); - } - - @override - void initState() { - super.initState(); - _checkUserSession(); - _businessReviewFuture = getUserReview(); - _bookmarkedBusinessFuture = getUserBookmark(); - } - - @override - Widget build(BuildContext context) { - // double screenWidth = MediaQuery.of(context).size.width; - return Consumer2( - builder: (BuildContext context, MzansiProfileProvider profileProvider, - MzansiDirectoryProvider directoryProvider, Widget? child) { - return Material( - color: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark") - .withValues(alpha: 0.6), - borderRadius: BorderRadius.circular(25), - elevation: 10, - shadowColor: Colors.black, - child: Container( - decoration: BoxDecoration( - color: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - borderRadius: BorderRadius.circular(10), - ), - child: Column( - children: [ - const SizedBox(height: 10), - _buildContactInfo( - "Call", - "Give us a quick call.", - Icons.phone, - MihColors.getGreenColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - false, - () { - // print("Calling ${widget.cellNumber}"); - _makePhoneCall(widget.business.contact_no); - }, - ), - Divider( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - ), - _buildContactInfo( - "Email", - "Send us an email.", - Icons.email, - MihColors.getPinkColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - false, - () { - // print("Emailing ${widget.email}"); - _launchEmail( - widget.business.bus_email, - "Inquiery about ${widget.business.Name}", - "Dear ${widget.business.Name},\n\nI would like to inquire about your services.\n\nBest regards,\n", - ); - }, - ), - Visibility( - visible: isValidGps(widget.business.gps_location), - child: Column( - children: [ - Divider( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - ), - _buildContactInfo( - "Location", - "Come visit us.", - Icons.location_on, - MihColors.getOrangeColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - false, - () { - final latitude = double.parse( - widget.business.gps_location.split(',')[0]); - final longitude = double.parse( - widget.business.gps_location.split(',')[1]); - _launchGoogleMapsWithUrl( - latitude: latitude, - longitude: longitude, - ); - }, - ), - ], - ), - ), - Visibility( - visible: widget.business.website.isNotEmpty && - widget.business.website != "", - child: Column( - children: [ - Divider( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - ), - _buildContactInfo( - "Website", - "Find out more about us.", - Icons.vpn_lock, - MihColors.getRedColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - false, - () { - _launchWebsite(widget.business.website); - }, - ), - ], - ), - ), - FutureBuilder( - future: _businessReviewFuture, - builder: (context, asyncSnapshot) { - if (asyncSnapshot.connectionState == - ConnectionState.waiting) { - // return const SizedBox.shrink(); - return Column( - children: [ - Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10.0), - child: Divider( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - ), - ), - Container( - child: _buildContactInfo( - "Loading Rating", - "Loading your rating.", - Icons.star_rate_rounded, - MihColors.getYellowColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - true, - null, - ), - ).redacted(context: context, redact: true), - ], - ); - } else { - BusinessReview? businessReview = asyncSnapshot.data; - String ratingDisplayTitle = ""; - if (businessReview == null) { - ratingDisplayTitle = "Rate Us"; - } else { - ratingDisplayTitle = "Update Rating"; - } - return Column( - children: [ - Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10.0), - child: Divider( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - ), - ), - _buildContactInfo( - ratingDisplayTitle, - "Let us know how we are doing.", - Icons.star_rate_rounded, - MihColors.getYellowColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - false, - () { - businessReviewRatingWindow(directoryProvider, - businessReview, true, widget.width); - }, - ), - ], - ); - } - }, - ), - FutureBuilder( - future: _bookmarkedBusinessFuture, - builder: (context, asyncSnapshot) { - if (asyncSnapshot.connectionState == - ConnectionState.waiting) { - // return const SizedBox.shrink(); - return Column( - children: [ - Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10.0), - child: Divider( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - ), - ), - Container( - child: _buildContactInfo( - "Loading Bookmark", - "Loading your bookmark.", - Icons.bookmark_add_rounded, - MihColors.getBluishPurpleColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - true, - null, - ), - ), - ], - ); - } else { - BookmarkedBusiness? bookmarkBusiness = asyncSnapshot.data; - String bookmarkDisplayTitle = ""; - if (bookmarkBusiness == null) { - bookmarkDisplayTitle = "Bookmark Us"; - } else { - bookmarkDisplayTitle = "Remove Bookmark"; - } - return Column( - children: [ - Padding( - padding: - const EdgeInsets.symmetric(horizontal: 10.0), - child: Divider( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - ), - ), - _buildContactInfo( - bookmarkDisplayTitle, - "Save us for later.", - bookmarkBusiness == null - ? Icons.bookmark_add_rounded - : Icons.bookmark_remove_rounded, - MihColors.getBluishPurpleColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - false, - () { - // _launchWebsite(widget.website); - if (bookmarkBusiness == null) { - showAddBookmarkAlert(); - } else { - showDeleteBookmarkAlert(bookmarkBusiness); - } - }, - ), - ], - ); - } - }, - ), - // Padding( - // padding: const EdgeInsets.symmetric(horizontal: 10.0), - // child: Divider( - // color: MihColors.getPrimaryColor(MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - // ), - // ), - // _buildContactInfo( - // "Bookmark", - // "Save us for later.", - // Icons.bookmark_add_rounded, - // MihColors.getBluishPurpleColor(MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - // () { - // // _launchWebsite(widget.website); - // print("Saving ${widget.business.Name} to Directory"); - // showBookmarkAlert(); - // }, - // ), - const SizedBox(height: 10), - // Padding( - // padding: const EdgeInsets.symmetric(horizontal: 10.0), - // child: Divider( - // color: MihColors.getPrimaryColor(MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - // ), - // ), - ], - ), - ), - ); - }, - ); - } - - Future businessReviewRatingWindow( - MzansiDirectoryProvider directoryProvider, - BusinessReview? myReview, - bool previouslyRated, - double width) async { - if (_isUserSignedIn) { - showDialog( - barrierDismissible: false, - context: context, - builder: (context) => MihReviewBusinessWindow( - business: widget.business, - businessReview: myReview, - screenWidth: width, - readOnly: false, - onSuccessDismissPressed: () async { - List? businessSearchResults = []; - businessSearchResults = await MihBusinessDetailsServices() - .searchBusinesses(directoryProvider.searchTerm, - directoryProvider.businessTypeFilter, context); - Map> busImagesUrl = {}; - Future businessLogoUrl; - for (var bus in businessSearchResults) { - businessLogoUrl = MihFileApi.getMinioFileUrl(bus.logo_path); - busImagesUrl[bus.business_id] = businessLogoUrl; - } - directoryProvider.setSearchedBusinesses( - searchedBusinesses: businessSearchResults, - businessesImagesUrl: busImagesUrl, - ); - setState(() { - _businessReviewFuture = getUserReview(); - }); - }, - ), - ); - } else { - showSignInRequiredAlert(); - } - } - - void showAddBookmarkAlert() { - if (_isUserSignedIn) { - showDialog( - barrierDismissible: false, - context: context, - builder: (context) => MihAddBookmarkAlert( - business: widget.business, - onSuccessDismissPressed: () async { - _bookmarkedBusinessFuture = getUserBookmark(); - }, - ), - ); - } else { - showSignInRequiredAlert(); - } - } - - void showDeleteBookmarkAlert(BookmarkedBusiness? bookmarkBusiness) { - if (_isUserSignedIn) { - showDialog( - barrierDismissible: false, - context: context, - builder: (context) => MihDeleteBookmarkAlert( - business: widget.business, - bookmarkBusiness: bookmarkBusiness, - onSuccessDismissPressed: () { - _bookmarkedBusinessFuture = getUserBookmark(); - }, - // startUpSearch: widget.startUpSearch, - )); - } else { - showSignInRequiredAlert(); - } - } - - void showSignInRequiredAlert() { - showDialog( - barrierDismissible: false, - context: context, - builder: (context) { - return MihPackageWindow( - fullscreen: false, - windowTitle: null, - onWindowTapClose: () { - context.pop(); - }, - windowBody: Column( - children: [ - Icon( - MihIcons.mihLogo, - size: 125, - color: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - ), - const SizedBox(height: 10), - Text( - "Let's Get Started", - textAlign: TextAlign.center, - style: TextStyle( - color: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - fontSize: 25, - fontWeight: FontWeight.bold, - ), - ), - const SizedBox(height: 15), - Text( - "Ready to dive in to the world of MIH?\nSign in or create a free MIH account to unlock all the powerful features of the MIH app. It's quick and easy!", - style: TextStyle( - color: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - fontSize: 15, - ), - ), - const SizedBox(height: 25), - Center( - child: MihButton( - onPressed: () { - context.goNamed( - 'mihHome', - extra: true, - ); - }, - buttonColor: MihColors.getGreenColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - elevation: 10, - width: 300, - child: Text( - "Sign In/ Create Account", - style: TextStyle( - color: MihColors.getPrimaryColor( - MzansiInnovationHub.of(context)!.theme.mode == - "Dark"), - fontSize: 20, - fontWeight: FontWeight.bold, - ), - ), - ), - ), - ], - ), - ); - }, - ); - } -} 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 825ecc29..d9a26e98 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 @@ -38,9 +38,7 @@ class _MzansiBusinessProfileTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 418c84c1..470bd19b 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 @@ -43,9 +43,7 @@ class _MzansiSetupBusinessProfileTileState MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 68b47705..29e12043 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 @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; -import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/components/mih_business_info_card.dart'; +import 'package:mzansi_innovation_hub/mih_package_components/mih_business_info_card.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/components/mih_update_business_details_window.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_button.dart'; diff --git a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details_view.dart b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details_view.dart index 498d9823..ea6a1edf 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details_view.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details_view.dart @@ -6,7 +6,7 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_providers/mzansi_directory_provider.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; -import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/components/mih_business_info_card.dart'; +import 'package:mzansi_innovation_hub/mih_package_components/mih_business_info_card.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_file_services.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tool_body.dart'; 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 fd976a2c..7fd9045a 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 @@ -35,9 +35,7 @@ class _MzansiProfileTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 7d411207..678b5299 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 @@ -34,9 +34,7 @@ class _MzansiSetupProfileTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } 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 df42f0bb..74a3951d 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 @@ -39,9 +39,7 @@ class _MihWalletTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } diff --git a/Frontend/lib/mih_packages/patient_manager/pat_manager/package_tiles/pat_manager_tile.dart b/Frontend/lib/mih_packages/patient_manager/pat_manager/package_tiles/pat_manager_tile.dart index d0aa5f42..5179a99f 100644 --- a/Frontend/lib/mih_packages/patient_manager/pat_manager/package_tiles/pat_manager_tile.dart +++ b/Frontend/lib/mih_packages/patient_manager/pat_manager/package_tiles/pat_manager_tile.dart @@ -41,9 +41,7 @@ class _PatManagerTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); } diff --git a/Frontend/lib/mih_packages/patient_manager/pat_profile/package_tiles/patient_profile_tile.dart b/Frontend/lib/mih_packages/patient_manager/pat_profile/package_tiles/patient_profile_tile.dart index b4ef4fb2..a7bc289a 100644 --- a/Frontend/lib/mih_packages/patient_manager/pat_profile/package_tiles/patient_profile_tile.dart +++ b/Frontend/lib/mih_packages/patient_manager/pat_profile/package_tiles/patient_profile_tile.dart @@ -38,9 +38,7 @@ class _PatientProfileTileState extends State { // size: widget.packageSize, ), iconSize: widget.packageSize, - primaryColor: MihColors.getSecondaryColor( - MzansiInnovationHub.of(context)!.theme.mode == "Dark"), - secondaryColor: MihColors.getPrimaryColor( + textColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"), ); }