From c713d3e5e3bd31af2645a1acad6d0b2077636f3e Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 14 May 2025 14:31:31 +0200 Subject: [PATCH 1/3] config new Icon pack --- .../assets/fonts/MihIcons.ttf | Bin 7324 -> 0 bytes .../assets/fonts/Mih_Icons.ttf | Bin 0 -> 36580 bytes .../assets/fonts/config.json | 52 ----------- .../assets/fonts/icomoon_link.txt | 1 + .../assets/fonts/style.css | 83 ++++++++++++++++++ Frontend/pubspec.yaml | 3 +- 6 files changed, 86 insertions(+), 53 deletions(-) delete mode 100644 Frontend/lib/mih_components/mih_package_components/assets/fonts/MihIcons.ttf create mode 100644 Frontend/lib/mih_components/mih_package_components/assets/fonts/Mih_Icons.ttf delete mode 100644 Frontend/lib/mih_components/mih_package_components/assets/fonts/config.json create mode 100644 Frontend/lib/mih_components/mih_package_components/assets/fonts/icomoon_link.txt create mode 100644 Frontend/lib/mih_components/mih_package_components/assets/fonts/style.css diff --git a/Frontend/lib/mih_components/mih_package_components/assets/fonts/MihIcons.ttf b/Frontend/lib/mih_components/mih_package_components/assets/fonts/MihIcons.ttf deleted file mode 100644 index 91ffc360928c30470de2c5ba3cea636266befc13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7324 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 ji>>1|&K>xEIl`_*&rFY-^IXI Date: Wed, 14 May 2025 14:32:43 +0200 Subject: [PATCH 2/3] use new icons on tiles --- .../mih_package_components/mih_app_tile.dart | 98 +++++++------------ .../mih_circle_avatar.dart | 2 +- .../mih_package_components/mih_icons.dart | 51 ++++++++-- .../package_tile/about_mih_tile.dart | 18 +--- .../package_tile/mih_access_tile.dart | 13 ++- .../package_tiles/mih_calculator_tile.dart | 11 +-- .../package_tiles/mzansi_calendar_tile.dart | 11 +-- .../package_tiles/mzansi_ai_tile.dart | 17 +--- .../mzansi_business_profile_tile.dart | 11 +-- .../mzansi_setup_business_profile_tile.dart | 10 +- .../package_tiles/mzansi_profile_tile.dart | 17 +--- .../mzansi_setup_profile_tile.dart | 14 +-- .../package_tiles/mih_wallet_tile.dart | 15 ++- .../package_tiles/pat_manager_tile.dart | 11 +-- .../package_tiles/patient_profile_tile.dart | 13 ++- 15 files changed, 140 insertions(+), 172 deletions(-) diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart b/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart index f2f0bd55..9fce2cf4 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_app_tile.dart @@ -50,72 +50,50 @@ class _MihAppTileState extends State { @override Widget build(BuildContext context) { - double borderRadius = widget.iconSize * 0.15; return Container( - alignment: Alignment.topCenter, + // alignment: Alignment.topCenter, // color: Colors.black, // width: widget.iconSize, // height: widget.iconSize + widget.iconSize / 3, - child: Column( - children: [ - Flexible( - flex: 3, - child: LayoutBuilder( - builder: (context, constraints) { - double iconHeight = constraints.maxWidth; - return AnimatedContainer( - height: iconHeight, - duration: const Duration(seconds: 2), - child: Material( - color: widget.primaryColor, - // shadowColor: - // MzanziInnovationHub.of(context)!.theme.secondaryColor(), - // elevation: 5, - borderRadius: BorderRadius.circular(borderRadius), - child: InkWell( - borderRadius: BorderRadius.circular(borderRadius), - // ho - onTap: widget.onTap, - onLongPress: () { - displayHint(); - }, - // hoverDuration: , - splashColor: MzanziInnovationHub.of(context)! - .theme - .highlightColor(), - highlightColor: MzanziInnovationHub.of(context)! - .theme - .highlightColor(), - child: FittedBox( - fit: BoxFit.fill, - alignment: Alignment.center, - child: widget.appIcon, - ), - ), - ), - ); - }, - ), - ), - const SizedBox(height: 10), - Flexible( - flex: 1, - child: FittedBox( - child: Text( - widget.appName, - textAlign: TextAlign.center, - // softWrap: true, - // overflow: TextOverflow.visible, - style: TextStyle( - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - fontSize: 20.0, - fontWeight: FontWeight.bold, - ), + child: GestureDetector( + onTap: widget.onTap, + onLongPress: null, // Do this later + child: Column( + children: [ + Flexible( + flex: 3, + child: LayoutBuilder( + builder: (context, constraints) { + double iconHeight = constraints.maxWidth; + return Container( + width: iconHeight, + height: iconHeight, + child: + FittedBox(fit: BoxFit.fitHeight, child: widget.appIcon), + ); + }, ), ), - ) - ], + const SizedBox(height: 10), + Flexible( + flex: 1, + child: FittedBox( + child: Text( + widget.appName, + textAlign: TextAlign.center, + // softWrap: true, + // overflow: TextOverflow.visible, + style: TextStyle( + color: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + fontSize: 20.0, + fontWeight: FontWeight.bold, + ), + ), + ), + ) + ], + ), ), ); } diff --git a/Frontend/lib/mih_components/mih_package_components/mih_circle_avatar.dart b/Frontend/lib/mih_components/mih_package_components/mih_circle_avatar.dart index 6c729ab6..25c0cee5 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_circle_avatar.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_circle_avatar.dart @@ -78,7 +78,7 @@ class _MihCircleAvatarState extends State { fit: BoxFit.fill, child: Icon( size: widget.width, - MihIcons.mihCircleFrame, + MihIcons.mihRing, color: widget.frameColor, ), ), diff --git a/Frontend/lib/mih_components/mih_package_components/mih_icons.dart b/Frontend/lib/mih_components/mih_package_components/mih_icons.dart index fca427fe..c8664d63 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_icons.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_icons.dart @@ -8,16 +8,49 @@ class MihIcons { // Set to your package name ONLY if this font is part of a separate package you created static const String? _mihFontPkg = null; - // IconData constant for 'mih_circle_frame' using its code 59392 - // Note: We use lowerCamelCase for Dart variable names - static const IconData mihCircleFrame = - IconData(59393, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); +// IconData constants based on your style.css file + // Note: We convert the hex code from CSS (\eXXX) to an integer (0xeXXX) - // IconData constant for 'mih_logo' using its code 59393 + static const IconData aboutMih = + IconData(0xe900, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData accessControl = + IconData(0xe901, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData businessProfile = + IconData(0xe902, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData calculator = + IconData(0xe903, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData calendar = + IconData(0xe904, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + // Note: Updated codepoint for mih_logo based on CSS (\e905) static const IconData mihLogo = - IconData(59392, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + IconData(0xe905, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); - // IconData constant for 'mzansi_ai_logo' using its code 59394 - static const IconData mzansiAiLogo = - IconData(59394, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + // Note: Updated codepoint and name for mzansi_ai based on CSS (\e906) + static const IconData mzansiAi = + IconData(0xe906, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + // Note: Added mzansi_wallet based on CSS (\e907) + static const IconData mzansiWallet = + IconData(0xe907, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData patientManager = + IconData(0xe908, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData patientProfile = + IconData(0xe909, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + // Added the new icon 'mih_ring' from your updated CSS (\e90a) + static const IconData mihRing = + IconData(0xe90a, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData profileSetup = + IconData(0xe90c, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); + + static const IconData businessSetup = + IconData(0xe90b, fontFamily: _mihFontFam, fontPackage: _mihFontPkg); } 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 d15f59dd..1b453184 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,7 +1,7 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:flutter/material.dart'; -import 'package:font_awesome_flutter/font_awesome_flutter.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; class AboutMihTile extends StatefulWidget { final double packageSize; @@ -25,19 +25,11 @@ class _AboutMihTileState extends State { ); }, appName: "About MIH", - appIcon: Container( - alignment: Alignment.center, - padding: const EdgeInsets.all(25), - child: FaIcon( - FontAwesomeIcons.circleInfo, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - size: widget.packageSize, - ), + appIcon: Icon( + MihIcons.aboutMih, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), - // Icon( - // Icons.info, - // color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), 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 424b12a3..52555d1e 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,6 @@ 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_icons.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; @@ -27,13 +28,11 @@ class _MihAccessTileState extends State { arguments: widget.signedInUser, ); }, - appName: "MIH Access", - appIcon: Container( - padding: const EdgeInsets.all(1), - child: Icon( - Icons.check_box, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + appName: "Access Controls", + appIcon: Icon( + MihIcons.accessControl, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 ed1994be..8e146924 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,6 +1,7 @@ import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; class MihCalculatorTile extends StatefulWidget { final bool personalSelected; @@ -27,12 +28,10 @@ class _MihCalculatorTileState extends State { ); }, appName: "Calculator", - appIcon: Container( - padding: const EdgeInsets.all(0), - child: Icon( - Icons.calculate, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + appIcon: Icon( + MihIcons.calculator, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 de32de53..aecc5787 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,6 @@ 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_icons.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -28,12 +29,10 @@ class _MzansiCalendarTileState extends State { ); }, appName: "Calendar", - appIcon: Container( - padding: const EdgeInsets.all(0.5), - child: Icon( - Icons.calendar_month, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + appIcon: Icon( + MihIcons.calendar, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 2d8329a0..09149d1b 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 @@ -29,19 +29,10 @@ class _MzansiAiTileState extends State { ); }, appName: "Mzansi AI", - appIcon: Container( - padding: const EdgeInsets.all(1), - alignment: Alignment.center, - // color: Colors.black, - child: FittedBox( - fit: BoxFit.contain, - child: Icon( - MihIcons.mzansiAiLogo, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // size: widget.packageSize, - ), - ), - // child: Image(image: logo), + appIcon: Icon( + MihIcons.mzansiAi, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 6c2c3889..bb1792b8 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,6 @@ 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_icons.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -28,12 +29,10 @@ class _MzansiBusinessProfileTileState extends State { ); }, appName: "Business Profile", - appIcon: Container( - padding: const EdgeInsets.all(0.5), - child: Icon( - Icons.business_center, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + appIcon: Icon( + MihIcons.businessProfile, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 77b4c64a..5331c037 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,6 @@ 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_icons.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:flutter/material.dart'; @@ -29,12 +30,9 @@ class _MzansiSetupBusinessProfileTileState ); }, appName: "Setup Business", - appIcon: Container( - padding: const EdgeInsets.all(0.5), - child: Icon( - Icons.business_center, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + appIcon: Icon( + MihIcons.profileSetup, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 8a1cec00..7f330594 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 @@ -36,19 +36,10 @@ class _MzansiProfileTileState extends State { ); }, appName: "Mzansi Profile", - appIcon: Container( - padding: const EdgeInsets.all(1), - alignment: Alignment.center, - // color: Colors.black, - child: FittedBox( - fit: BoxFit.contain, - child: Icon( - MihIcons.mihLogo, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // size: widget.packageSize, - ), - ), - // child: Image(image: logo), + appIcon: Icon( + MihIcons.mihLogo, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 b3d28366..81638084 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 @@ -35,16 +35,10 @@ class _MzansiSetupProfileTileState extends State { ); }, appName: "Setup Profile", - appIcon: Container( - padding: const EdgeInsets.all(1), - child: FittedBox( - fit: BoxFit.contain, - child: Icon( - MihIcons.mihLogo, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - // size: widget.packageSize, - ), - ), + appIcon: Icon( + MihIcons.profileSetup, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 2f764676..2982ac86 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,8 +1,8 @@ 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_icons.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'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; class MihWalletTile extends StatefulWidget { @@ -30,15 +30,12 @@ class _MihWalletTileState extends State { ); }, appName: "Mzansi Wallet", - appIcon: Container( - padding: const EdgeInsets.all(25), - child: FaIcon( - FontAwesomeIcons.wallet, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - size: widget.packageSize, - ), + appIcon: Icon( + MihIcons.mzansiWallet, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), - iconSize: 200, + iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), ); 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 93156430..34e89302 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,6 @@ 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_icons.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -27,12 +28,10 @@ class _PatManagerTileState extends State { ); }, appName: "Patient Manager", - appIcon: Container( - padding: const EdgeInsets.all(1), - child: Icon( - Icons.medical_services, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + appIcon: Icon( + MihIcons.patientManager, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), 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 a4354f74..98153e41 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,6 @@ 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_icons.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:flutter/material.dart'; @@ -28,13 +29,11 @@ class _PatientProfileTileState extends State { ); }, appName: "Patient Profile", - appIcon: Container( - padding: const EdgeInsets.all(15), - child: Icon( - Icons.medical_information_outlined, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - size: widget.packageSize, - )), + appIcon: Icon( + MihIcons.patientProfile, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, + ), iconSize: widget.packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), From eccb0ec1f6aa03da31c4f83d89a8c0e89f00d390 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Wed, 14 May 2025 14:33:44 +0200 Subject: [PATCH 3/3] remove home border and use new icons --- .../mih_package_components/mih_app.dart | 2 +- .../mih_components/mih_profile_picture.dart | 160 ------------------ .../mih_home/mih_home_legacy.dart | 25 ++- .../package_tools/mih_business_home.dart | 2 +- .../package_tools/mih_personal_home.dart | 11 +- .../package_tools/mih_business_profile.dart | 14 +- 6 files changed, 25 insertions(+), 189 deletions(-) delete mode 100644 Frontend/lib/mih_components/mih_profile_picture.dart diff --git a/Frontend/lib/mih_components/mih_package_components/mih_app.dart b/Frontend/lib/mih_components/mih_package_components/mih_app.dart index de3fa772..aff69b0f 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_app.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_app.dart @@ -101,7 +101,7 @@ class _MihAppState extends State with SingleTickerProviderStateMixin { drawer: widget.actionDrawer, body: SafeArea( bottom: false, - minimum: EdgeInsets.only(bottom: 5), + minimum: EdgeInsets.only(bottom: 0), child: Container( width: screenSize.width, height: screenSize.height, diff --git a/Frontend/lib/mih_components/mih_profile_picture.dart b/Frontend/lib/mih_components/mih_profile_picture.dart deleted file mode 100644 index e23d68d4..00000000 --- a/Frontend/lib/mih_components/mih_profile_picture.dart +++ /dev/null @@ -1,160 +0,0 @@ -import 'dart:io'; - -import 'package:file_picker/file_picker.dart'; -import 'package:flutter/material.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; -import '../../main.dart'; - -// ignore: must_be_immutable -class MIHProfilePicture extends StatefulWidget { - final ImageProvider? profilePictureFile; - final TextEditingController proPicController; - - PlatformFile? proPic; - final double width; - final double radius; - final bool drawerMode; - final bool editable; - final Color frameColor; - final onChange; - - MIHProfilePicture({ - super.key, - required this.profilePictureFile, - required this.proPicController, - required this.proPic, - required this.width, - required this.radius, - required this.drawerMode, - required this.editable, - required this.onChange, - required this.frameColor, - }); - - @override - State createState() => _MIHProfilePictureState(); -} - -class _MIHProfilePictureState extends State { - late ImageProvider? propicPreview; - - Widget displayEditableProPic() { - if (widget.profilePictureFile != null) { - return Stack( - alignment: Alignment.center, - fit: StackFit.loose, - children: [ - CircleAvatar( - backgroundColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - backgroundImage: propicPreview, - //'https://media.licdn.com/dms/image/D4D03AQGd1-QhjtWWpA/profile-displayphoto-shrink_400_400/0/1671698053061?e=2147483647&v=beta&t=a3dJI5yxs5-KeXjj10LcNCFuC9IOfa8nNn3k_Qyr0CA'), - radius: widget.radius, - ), - SizedBox( - width: widget.width, - child: FittedBox( - fit: BoxFit.fill, - child: Icon( - MihIcons.mihCircleFrame, - color: widget.frameColor, - ), - ), - ), - Visibility( - visible: widget.editable, - child: Positioned( - bottom: 0, - right: 0, - child: IconButton.filled( - onPressed: () async { - try { - // print( - // "Platform: ${MzanziInnovationHub.of(context)!.theme.getPlatform()}"); - FilePickerResult? result = - await FilePicker.platform.pickFiles( - type: FileType.image, - ); - - if (MzanziInnovationHub.of(context)!.theme.getPlatform() == - "Web") { - if (result == null) return; - final selectedFile = result.files.first; - setState(() { - widget.onChange(selectedFile); - widget.proPic = selectedFile; - //print("MIH Profile Picture: ${widget.proPic}"); - propicPreview = MemoryImage(widget.proPic!.bytes!); - }); - - setState(() { - widget.proPicController.text = selectedFile.name; - }); - } else { - // print( - // "================\nHere for Android & IOS\n========================"); - if (result != null) { - // print("here 1"); - File file = File(result.files.single.path!); - PlatformFile? androidFile = PlatformFile( - path: file.path, - name: file.path.split('/').last, - size: file.lengthSync(), - bytes: await file.readAsBytes(), // Read file bytes - //extension: fileExtension, - ); - // print("here 2"); - setState(() { - // print("here 3"); - widget.onChange(androidFile); - // print("here 4"); - widget.proPic = androidFile; - // print("here 5"); - //print("MIH Profile Picture: ${widget.proPic}"); - //print("bytes: ${widget.proPic!.bytes!}"); - propicPreview = FileImage(file); - }); - - setState(() { - widget.proPicController.text = widget.proPic!.name; - }); - } else { - print("here in else"); - // User canceled the picker - } - } - } catch (e) { - print("Error: $e"); - } - }, - icon: const Icon(Icons.edit), - ), - ), - ), - ], - ); - } else { - return SizedBox( - width: widget.width, - child: Icon( - MihIcons.mihCircleFrame, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ); - } - } - - @override - void initState() { - setState(() { - propicPreview = widget.profilePictureFile; - }); - - super.initState(); - } - - @override - Widget build(BuildContext context) { - return displayEditableProPic(); - } -} 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 9f5c79c4..20dab3ff 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart @@ -28,7 +28,6 @@ import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import '../../mih_components/mih_pop_up_messages/mih_notification_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_components/mih_profile_picture.dart'; import '../../mih_env/env.dart'; import '../../mih_objects/app_user.dart'; import '../../mih_objects/arguments.dart'; @@ -985,18 +984,18 @@ class _MIHHomeLegacyState extends State { return Builder(builder: (context) { return MIHAction( icon: Padding( - padding: const EdgeInsets.only(left: 5.0), - child: MIHProfilePicture( - profilePictureFile: widget.propicFile, - proPicController: proPicController, - proPic: null, - width: 45, - radius: 21, - drawerMode: false, - editable: false, - frameColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - onChange: (newProPic) {}, - ), + padding: const EdgeInsets.only(left: 5.0), child: Placeholder(), + // MIHProfilePicture( + // profilePictureFile: widget.propicFile, + // proPicController: proPicController, + // proPic: null, + // width: 45, + // radius: 21, + // drawerMode: false, + // editable: false, + // frameColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // onChange: (newProPic) {}, + // ), ), // const Icon(Icons.apps), iconSize: 45, 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 b6a09d23..938bc8e6 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 @@ -190,7 +190,7 @@ class _MihBusinessHomeState extends State final double width = size.width; final double height = size.height; return MihAppToolBody( - borderOn: true, + 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 80d9d87d..7c613000 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 @@ -157,12 +157,9 @@ class _MihPersonalHomeState extends State ); }, appName: "Test", - appIcon: Container( - padding: const EdgeInsets.all(0.5), - child: Icon( - Icons.warning_amber_rounded, - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - ), + appIcon: Icon( + Icons.warning_amber_rounded, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), iconSize: packageSize, primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), @@ -238,7 +235,7 @@ class _MihPersonalHomeState extends State final double height = size.height; return MihAppToolBody( - borderOn: true, + borderOn: false, bodyItem: getBody(width, height), ); } 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 c18edbf6..7bf2186b 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 @@ -9,10 +9,10 @@ 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-app_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'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; -import 'package:mzansi_innovation_hub/mih_components/mih_profile_picture.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:file_picker/file_picker.dart'; @@ -350,13 +350,11 @@ class _MihBusinessProfileState extends State { ?.theme .secondaryColor()), const SizedBox(height: 10.0), - MIHProfilePicture( - profilePictureFile: logoPreview, - proPicController: logonameController, - proPic: logoFile, + MihCircleAvatar( + imageFile: logoPreview, + fileNameController: logonameController, + userSelectedfile: logoFile, width: 155, - radius: 70, - drawerMode: false, editable: true, frameColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), @@ -366,6 +364,8 @@ class _MihBusinessProfileState extends State { }); print("logoFile: ${logoFile?.bytes}"); }, + backgroundColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), const SizedBox(height: 10.0), MIHFileField(