use new icons on tiles

This commit is contained in:
2025-05-14 14:32:43 +02:00
parent c713d3e5e3
commit 6157397819
15 changed files with 140 additions and 172 deletions

View File

@@ -50,72 +50,50 @@ class _MihAppTileState extends State<MihAppTile> {
@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,
),
),
),
)
],
),
),
);
}

View File

@@ -78,7 +78,7 @@ class _MihCircleAvatarState extends State<MihCircleAvatar> {
fit: BoxFit.fill,
child: Icon(
size: widget.width,
MihIcons.mihCircleFrame,
MihIcons.mihRing,
color: widget.frameColor,
),
),

View File

@@ -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);
}

View File

@@ -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<AboutMihTile> {
);
},
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(),

View File

@@ -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<MihAccessTile> {
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(),

View File

@@ -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<MihCalculatorTile> {
);
},
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(),

View File

@@ -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<MzansiCalendarTile> {
);
},
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(),

View File

@@ -29,19 +29,10 @@ class _MzansiAiTileState extends State<MzansiAiTile> {
);
},
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(),

View File

@@ -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<MzansiBusinessProfileTile> {
);
},
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(),

View File

@@ -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(),

View File

@@ -36,19 +36,10 @@ class _MzansiProfileTileState extends State<MzansiProfileTile> {
);
},
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(),

View File

@@ -35,16 +35,10 @@ class _MzansiSetupProfileTileState extends State<MzansiSetupProfileTile> {
);
},
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(),

View File

@@ -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<MihWalletTile> {
);
},
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(),
);

View File

@@ -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<PatManagerTile> {
);
},
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(),

View File

@@ -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<PatientProfileTile> {
);
},
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(),