diff --git a/Frontend/android/app/src/main/res/drawable/mih_home_sc.xml b/Frontend/android/app/src/main/res/drawable/mih_home_sc.xml
new file mode 100644
index 00000000..a4df0ba4
--- /dev/null
+++ b/Frontend/android/app/src/main/res/drawable/mih_home_sc.xml
@@ -0,0 +1,31 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
\ No newline at end of file
diff --git a/Frontend/android/app/src/main/res/drawable/mih_logo.xml b/Frontend/android/app/src/main/res/drawable/mih_logo.xml
new file mode 100644
index 00000000..a38d59e5
--- /dev/null
+++ b/Frontend/android/app/src/main/res/drawable/mih_logo.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/Frontend/android/app/src/main/res/drawable/mzansi_wallet.xml b/Frontend/android/app/src/main/res/drawable/mzansi_wallet.xml
new file mode 100644
index 00000000..33f5f2ee
--- /dev/null
+++ b/Frontend/android/app/src/main/res/drawable/mzansi_wallet.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/Frontend/android/app/src/main/res/drawable/mzansi_wallet_sc.xml b/Frontend/android/app/src/main/res/drawable/mzansi_wallet_sc.xml
new file mode 100644
index 00000000..2b817108
--- /dev/null
+++ b/Frontend/android/app/src/main/res/drawable/mzansi_wallet_sc.xml
@@ -0,0 +1,31 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
\ No newline at end of file
diff --git a/Frontend/android/app/src/main/res/drawable/test.xml b/Frontend/android/app/src/main/res/drawable/test.xml
new file mode 100644
index 00000000..85ad1a93
--- /dev/null
+++ b/Frontend/android/app/src/main/res/drawable/test.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Frontend/android/app/src/main/res/values/colors.xml b/Frontend/android/app/src/main/res/values/colors.xml
index 66426078..95166e7c 100644
--- a/Frontend/android/app/src/main/res/values/colors.xml
+++ b/Frontend/android/app/src/main/res/values/colors.xml
@@ -1,4 +1,5 @@
#3A4454
+ #3A4454
\ No newline at end of file
diff --git a/Frontend/lib/main.dart b/Frontend/lib/main.dart
index 783a11a3..da340b4d 100644
--- a/Frontend/lib/main.dart
+++ b/Frontend/lib/main.dart
@@ -12,7 +12,6 @@ import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_direct
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_profile_provider.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_providers/patient_manager_provider.dart';
-import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:provider/provider.dart';
import 'package:upgrader/upgrader.dart';
import 'mih_config/mih_env.dart';
@@ -36,40 +35,10 @@ class MzansiInnovationHub extends StatefulWidget {
class _MzansiInnovationHubState extends State {
late MihTheme theme;
- Color getPrimany() {
- return MihColors.getPrimaryColor(theme.mode == "Dark");
- }
-
- String getTitle() {
- if (AppEnviroment.getEnv() == "Dev") {
- return "Dev | MIH App: Mzansi Innovation Hub";
- } else {
- return "MIH App: Mzansi Innovation Hub";
- }
- }
-
- void changeTheme(ThemeMode themeMode) {
- setState(() {
- if (themeMode == ThemeMode.light) {
- setState(() {
- theme.mode = "Light";
- });
- } else if (themeMode == ThemeMode.dark) {
- setState(() {
- theme.mode = "Dark";
- });
- } else {
- setState(() {
- theme.mode = "Dark";
- });
- }
- });
- }
-
@override
void initState() {
- theme = MihTheme();
super.initState();
+ theme = MihTheme();
theme.mode = "Dark";
theme.platform = Theme.of(context).platform;
}
@@ -119,7 +88,9 @@ class _MzansiInnovationHubState extends State {
),
],
child: MaterialApp.router(
- title: getTitle(),
+ title: AppEnviroment.getEnv() == "Dev"
+ ? "Dev | MIH App: Mzansi Innovation Hub"
+ : "MIH App: Mzansi Innovation Hub",
themeMode: ThemeMode.dark,
theme: theme.getThemeData(),
darkTheme: theme.getThemeData(),
diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart
index 877057e6..f7f4a5d2 100644
--- a/Frontend/lib/mih_packages/mih_home/mih_home.dart
+++ b/Frontend/lib/mih_packages/mih_home/mih_home.dart
@@ -28,6 +28,7 @@ import 'package:mzansi_innovation_hub/mih_services/mih_my_business_user_services
import 'package:mzansi_innovation_hub/mih_services/mih_user_consent_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_user_services.dart';
import 'package:provider/provider.dart';
+import 'package:quick_actions/quick_actions.dart';
class MihHome extends StatefulWidget {
const MihHome({
@@ -42,6 +43,35 @@ class _MihHomeState extends State {
DateTime latestPrivacyPolicyDate = DateTime.parse("2024-12-01");
DateTime latestTermOfServiceDate = DateTime.parse("2024-12-01");
bool _isLoadingInitialData = true;
+ final QuickActions quickActions = QuickActions();
+ String shortcut = 'no action set';
+
+ void _initializeQuickActions() {
+ quickActions.initialize((String shortcutType) {
+ setState(() {
+ shortcut = shortcutType;
+ });
+ if (shortcutType == 'mihHome') {
+ context.goNamed("mihHome");
+ }
+ if (shortcutType == 'mzansiWallet') {
+ context.goNamed("mzansiWallet");
+ }
+ });
+ // Set the quick actions
+ quickActions.setShortcutItems([
+ const ShortcutItem(
+ type: 'mzansiWallet',
+ localizedTitle: 'Mzansi Wallet',
+ icon: 'mzansi_wallet_sc'),
+ ]).then((void _) {
+ setState(() {
+ if (shortcut == 'no action set') {
+ shortcut = 'mihHome';
+ }
+ });
+ });
+ }
Future _loadInitialData() async {
if (mounted) {
@@ -205,6 +235,7 @@ class _MihHomeState extends State {
void initState() {
super.initState();
_loadInitialData();
+ _initializeQuickActions();
}
List getToolTitle() {
diff --git a/Frontend/pubspec.lock b/Frontend/pubspec.lock
index 36b32dae..aa88bf94 100644
--- a/Frontend/pubspec.lock
+++ b/Frontend/pubspec.lock
@@ -1456,6 +1456,38 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.2"
+ quick_actions:
+ dependency: "direct main"
+ description:
+ name: quick_actions
+ sha256: "7e35dd6a21f5bbd21acf6899039eaf85001a5ac26d52cbd6a8a2814505b90798"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.0"
+ quick_actions_android:
+ dependency: transitive
+ description:
+ name: quick_actions_android
+ sha256: "612c9d53364c641ddcdeafed83c68fc14efb1bf4f686979d755024fc976fc888"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.23"
+ quick_actions_ios:
+ dependency: transitive
+ description:
+ name: quick_actions_ios
+ sha256: ee2cd54e3bd674eb031ca195b3b9974583638d141493aec1066dee3b2599ed08
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ quick_actions_platform_interface:
+ dependency: transitive
+ description:
+ name: quick_actions_platform_interface
+ sha256: "1fec7068db5122cd019e9340d3d7be5d36eab099695ef3402c7059ee058329a4"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.0"
record:
dependency: transitive
description:
diff --git a/Frontend/pubspec.yaml b/Frontend/pubspec.yaml
index 16eaabc7..dd463420 100644
--- a/Frontend/pubspec.yaml
+++ b/Frontend/pubspec.yaml
@@ -61,6 +61,7 @@ dependencies:
flutter_ai_toolkit: ^0.10.0
flutter_markdown_plus: ^1.0.5
speech_to_text: ^7.3.0
+ quick_actions: ^1.1.0
dev_dependencies:
flutter_test: