Migration to mih_package_toolkit

This commit is contained in:
2026-03-18 16:42:12 +02:00
parent 84cb6b2e83
commit c67529dbac
180 changed files with 2112 additions and 8147 deletions

View File

@@ -1,7 +1,5 @@
import 'package:go_router/go_router.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tools.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:mzansi_innovation_hub/mih_providers/about_mih_provider.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_%20attributes.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_info.dart';
@@ -37,11 +35,11 @@ class _AboutMihState extends State<AboutMih> {
@override
Widget build(BuildContext context) {
return MihPackage(
appActionButton: getAction(),
appTools: getTools(),
appBody: getToolBody(),
appToolTitles: getToolTitle(),
selectedbodyIndex: context.watch<AboutMihProvider>().toolIndex,
packageActionButton: getAction(),
packageTools: getTools(),
packageToolBodies: getToolBody(),
packageToolTitles: getToolTitle(),
selectedBodyIndex: context.watch<AboutMihProvider>().toolIndex,
onIndexChange: (newIndex) {
context.read<AboutMihProvider>().setToolIndex(newIndex);
},
@@ -77,7 +75,7 @@ class _AboutMihState extends State<AboutMih> {
};
return MihPackageTools(
tools: temp,
selcetedIndex: context.watch<AboutMihProvider>().toolIndex,
selectedIndex: context.watch<AboutMihProvider>().toolIndex,
);
}

View File

@@ -1,7 +1,5 @@
import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
class PolicyAndTermsText {
List<Widget> getPrivacyPolicyText(BuildContext context, bool english) {
@@ -40,8 +38,7 @@ class PolicyAndTermsText {
child: FittedBox(
child: Icon(
MihIcons.mihLogo,
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.secondary(),
),
),
),
@@ -452,8 +449,7 @@ class PolicyAndTermsText {
child: FittedBox(
child: Icon(
MihIcons.mihLogo,
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.secondary(),
),
),
),

View File

@@ -1,9 +1,6 @@
import 'package:go_router/go_router.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tile.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
class AboutMihTile extends StatefulWidget {
final double packageSize;
@@ -29,16 +26,14 @@ class _AboutMihTileState extends State<AboutMihTile> {
// arguments: 0,
// );
},
appName: "About MIH",
appIcon: Icon(
packageName: "About MIH",
packageIcon: Icon(
MihIcons.aboutMih,
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.secondary(),
// size: widget.packageSize,
),
iconSize: widget.packageSize,
textColor: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
textColor: MihColors.secondary(),
);
}
}

View File

@@ -1,9 +1,5 @@
import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.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';
import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:url_launcher/url_launcher.dart';
class MihAttributes extends StatefulWidget {
@@ -33,8 +29,7 @@ class _MihAttributesState extends State<MihAttributes> {
children: [
Icon(
resource,
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.secondary(),
size: 100,
),
const SizedBox(height: 5),
@@ -50,6 +45,7 @@ class _MihAttributesState extends State<MihAttributes> {
@override
Widget build(BuildContext context) {
return MihPackageToolBody(
backgroundColor: MihColors.primary(),
borderOn: false,
bodyItem: getBody(),
);
@@ -71,8 +67,7 @@ class _MihAttributesState extends State<MihAttributes> {
children: [
Icon(
MihIcons.mihLogo,
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.secondary(),
size: 165,
),
const SizedBox(

View File

@@ -1,20 +1,14 @@
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:go_router/go_router.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_objects/profile_link.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_profile_links.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_business_details_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_install_services.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';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tool_body.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_user_services.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:redacted/redacted.dart';
@@ -52,8 +46,7 @@ class _MihInfoState extends State<MihInfo> {
Padding(
padding: const EdgeInsets.only(left: 4.0),
child: CircleAvatar(
backgroundColor: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
backgroundColor: MihColors.primary(),
backgroundImage: const AssetImage(
"lib/mih_package_components/assets/images/founder.jpg"),
//'https://media.licdn.com/dms/image/D4D03AQGd1-QhjtWWpA/profile-displayphoto-shrink_400_400/0/1671698053061?e=2147483647&v=beta&t=a3dJI5yxs5-KeXjj10LcNCFuC9IOfa8nNn3k_Qyr0CA'),
@@ -63,8 +56,7 @@ class _MihInfoState extends State<MihInfo> {
Icon(
MihIcons.mihRing,
size: 165,
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.secondary(),
),
],
),
@@ -208,15 +200,13 @@ class _MihInfoState extends State<MihInfo> {
children: [
FaIcon(
platformIcon,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
),
const SizedBox(width: 10),
Text(
btnText,
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -267,9 +257,7 @@ class _MihInfoState extends State<MihInfo> {
redact: isLoading,
configuration: RedactedConfiguration(
defaultBorderRadius: BorderRadius.circular(5),
redactedColor: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark",
),
redactedColor: MihColors.secondary(),
),
);
},
@@ -322,9 +310,7 @@ class _MihInfoState extends State<MihInfo> {
redact: isLoading,
configuration: RedactedConfiguration(
defaultBorderRadius: BorderRadius.circular(5),
redactedColor: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark",
),
redactedColor: MihColors.secondary(),
),
);
},
@@ -350,8 +336,7 @@ class _MihInfoState extends State<MihInfo> {
),
child: Divider(
thickness: 1,
color: MihColors.getGreyColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.grey(),
),
);
}
@@ -364,8 +349,7 @@ class _MihInfoState extends State<MihInfo> {
child: FittedBox(
child: Icon(
MihIcons.mihLogo,
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.secondary(),
),
),
),
@@ -450,11 +434,7 @@ class _MihInfoState extends State<MihInfo> {
Text(
"Please select the platform you want to install/ Update MIH from",
style: TextStyle(
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!
.theme
.mode ==
"Dark"),
color: MihColors.secondary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -468,29 +448,19 @@ class _MihInfoState extends State<MihInfo> {
),
);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
buttonColor: MihColors.green(),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FaIcon(
FontAwesomeIcons.googlePlay,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!
.theme
.mode ==
"Dark"),
color: MihColors.primary(),
),
const SizedBox(width: 10),
Text(
"Play Store",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!
.theme
.mode ==
"Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -509,29 +479,19 @@ class _MihInfoState extends State<MihInfo> {
),
);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
buttonColor: MihColors.green(),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FaIcon(
Icons.store,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!
.theme
.mode ==
"Dark"),
color: MihColors.primary(),
),
const SizedBox(width: 10),
Text(
"App Gallery",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!
.theme
.mode ==
"Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -548,8 +508,7 @@ class _MihInfoState extends State<MihInfo> {
MihInstallServices().installMihTrigger(context);
}
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
buttonColor: MihColors.green(),
width: 300,
child: getInstallButtonText(),
),
@@ -561,24 +520,20 @@ class _MihInfoState extends State<MihInfo> {
),
);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
buttonColor: MihColors.green(),
width: 300,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FaIcon(
FontAwesomeIcons.youtube,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
),
const SizedBox(width: 10),
Text(
"MIH Beginners Guide",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -594,24 +549,20 @@ class _MihInfoState extends State<MihInfo> {
),
);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
buttonColor: MihColors.green(),
width: 300,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FaIcon(
FontAwesomeIcons.patreon,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
),
const SizedBox(width: 10),
Text(
"Support Our Journey",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -664,25 +615,20 @@ class _MihInfoState extends State<MihInfo> {
),
);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
buttonColor: MihColors.green(),
width: 300,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FaIcon(
FontAwesomeIcons.tiktok,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
color: MihColors.primary(),
),
const SizedBox(width: 10),
Text(
"@womenforchange.sa",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -698,25 +644,20 @@ class _MihInfoState extends State<MihInfo> {
),
);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
buttonColor: MihColors.green(),
width: 300,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FaIcon(
Icons.edit,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
color: MihColors.primary(),
),
const SizedBox(width: 10),
Text(
"Sign Petition",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
@@ -890,6 +831,7 @@ class _MihInfoState extends State<MihInfo> {
@override
Widget build(BuildContext context) {
return MihPackageToolBody(
backgroundColor: MihColors.primary(),
borderOn: false,
bodyItem: getBody(),
);
@@ -925,19 +867,15 @@ class _MihInfoState extends State<MihInfo> {
SpeedDialChild(
child: Icon(
Icons.android,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
),
label: "Android",
labelBackgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
labelBackgroundColor: MihColors.green(),
labelStyle: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
fontWeight: FontWeight.bold,
),
backgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
backgroundColor: MihColors.green(),
onTap: () {
shareMIHLink(
context,
@@ -949,19 +887,15 @@ class _MihInfoState extends State<MihInfo> {
SpeedDialChild(
child: Icon(
Icons.apple,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
),
label: "iOS",
labelBackgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
labelBackgroundColor: MihColors.green(),
labelStyle: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
fontWeight: FontWeight.bold,
),
backgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
backgroundColor: MihColors.green(),
onTap: () {
shareMIHLink(
context,
@@ -973,19 +907,15 @@ class _MihInfoState extends State<MihInfo> {
SpeedDialChild(
child: Icon(
Icons.store,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
),
label: "Huawei",
labelBackgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
labelBackgroundColor: MihColors.green(),
labelStyle: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
fontWeight: FontWeight.bold,
),
backgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
backgroundColor: MihColors.green(),
onTap: () {
shareMIHLink(
context,
@@ -997,19 +927,15 @@ class _MihInfoState extends State<MihInfo> {
SpeedDialChild(
child: Icon(
Icons.vpn_lock,
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
),
label: "Web",
labelBackgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
labelBackgroundColor: MihColors.green(),
labelStyle: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
fontWeight: FontWeight.bold,
),
backgroundColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
backgroundColor: MihColors.green(),
onTap: () {
shareMIHLink(
context,

View File

@@ -1,8 +1,4 @@
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_button.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';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart';
import 'package:flutter/material.dart';
@@ -18,6 +14,7 @@ class _MihPrivacyPolicyState extends State<MihPrivacyPolicy> {
@override
Widget build(BuildContext context) {
return MihPackageToolBody(
backgroundColor: MihColors.primary(),
borderOn: false,
bodyItem: getBody(context),
);
@@ -34,14 +31,12 @@ class _MihPrivacyPolicyState extends State<MihPrivacyPolicy> {
englishOn = !englishOn;
});
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
buttonColor: MihColors.green(),
elevation: 10,
child: Text(
englishOn ? "Simplified Chinese" : "English",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),

View File

@@ -1,8 +1,4 @@
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_button.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';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart';
import 'package:flutter/material.dart';
@@ -18,6 +14,7 @@ class _MIHTermsOfServiceState extends State<MIHTermsOfService> {
@override
Widget build(BuildContext context) {
return MihPackageToolBody(
backgroundColor: MihColors.primary(),
borderOn: false,
bodyItem: getBody(context),
);
@@ -34,14 +31,12 @@ class _MIHTermsOfServiceState extends State<MIHTermsOfService> {
englishOn = !englishOn;
});
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
buttonColor: MihColors.green(),
elevation: 10,
child: Text(
englishOn ? "Simplified Chinese" : "English",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
color: MihColors.primary(),
fontSize: 20,
fontWeight: FontWeight.bold,
),