From b4882f3832463d79715b19481701cd84be13f8e1 Mon Sep 17 00:00:00 2001 From: yaso Date: Mon, 17 Feb 2025 10:30:03 +0200 Subject: [PATCH 1/4] Add Calendar Argument Object --- Frontend/lib/mih_objects/arguments.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Frontend/lib/mih_objects/arguments.dart b/Frontend/lib/mih_objects/arguments.dart index 5256ca96..d60a3794 100644 --- a/Frontend/lib/mih_objects/arguments.dart +++ b/Frontend/lib/mih_objects/arguments.dart @@ -169,3 +169,13 @@ class AuthArguments { this.firstBoot, ); } + +class CalendarArguments { + final AppUser signedInUser; + final bool personalSelected; + + CalendarArguments( + this.signedInUser, + this.personalSelected, + ); +} From 3ac248e3210fa9e15f9fcb026c328dbc3a7737d8 Mon Sep 17 00:00:00 2001 From: yaso Date: Mon, 17 Feb 2025 10:30:20 +0200 Subject: [PATCH 2/4] update route to accept calendar object --- Frontend/lib/mih_router/routeGenerator.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Frontend/lib/mih_router/routeGenerator.dart b/Frontend/lib/mih_router/routeGenerator.dart index b94d66fc..fc055de1 100644 --- a/Frontend/lib/mih_router/routeGenerator.dart +++ b/Frontend/lib/mih_router/routeGenerator.dart @@ -1,5 +1,5 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/test/package_test.dart'; -import 'package:Mzansi_Innovation_Hub/mih_packages/appointment/mzansi_calendar.dart'; +import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/mzansi_calendar.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/calculator/calculator.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mih_policy_tos/mih_privacy_polocy.dart'; import 'package:Mzansi_Innovation_Hub/mih_packages/mih_policy_tos/mih_terms_of_service.dart'; @@ -213,12 +213,12 @@ class RouteGenerator { // Appointment Page case '/calendar': - if (args is AppUser) { + if (args is CalendarArguments) { //print("route generator: $args"); return MaterialPageRoute( settings: settings, builder: (_) => MzansiCalendar( - signedInUser: args, + arguments: args, ), // Appointments( // signedInUser: args, @@ -227,12 +227,12 @@ class RouteGenerator { } return _errorRoute(); case '/appointments': - if (args is AppUser) { + if (args is CalendarArguments) { //print("route generator: $args"); return MaterialPageRoute( settings: settings, builder: (_) => MzansiCalendar( - signedInUser: args, + arguments: args, ), // Appointments( // signedInUser: args, From b712f4a5c288f944259e45fecfaebec1da523a7c Mon Sep 17 00:00:00 2001 From: yaso Date: Mon, 17 Feb 2025 10:30:39 +0200 Subject: [PATCH 3/4] update package folder name --- .../{appointment => calendar}/appointments.dart | 2 +- .../builder/build_access_request_list.dart | 0 .../builder/build_appointment_list.dart | 0 .../builder/build_queue_list.dart | 0 .../{appointment => calendar}/mzansi_calendar.dart | 11 +++++------ 5 files changed, 6 insertions(+), 7 deletions(-) rename Frontend/lib/mih_packages/{appointment => calendar}/appointments.dart (99%) rename Frontend/lib/mih_packages/{appointment => calendar}/builder/build_access_request_list.dart (100%) rename Frontend/lib/mih_packages/{appointment => calendar}/builder/build_appointment_list.dart (100%) rename Frontend/lib/mih_packages/{appointment => calendar}/builder/build_queue_list.dart (100%) rename Frontend/lib/mih_packages/{appointment => calendar}/mzansi_calendar.dart (84%) diff --git a/Frontend/lib/mih_packages/appointment/appointments.dart b/Frontend/lib/mih_packages/calendar/appointments.dart similarity index 99% rename from Frontend/lib/mih_packages/appointment/appointments.dart rename to Frontend/lib/mih_packages/calendar/appointments.dart index 88054f00..3898a0d7 100644 --- a/Frontend/lib/mih_packages/appointment/appointments.dart +++ b/Frontend/lib/mih_packages/calendar/appointments.dart @@ -9,7 +9,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_bo import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/appointment.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; -import 'package:Mzansi_Innovation_Hub/mih_packages/appointment/builder/build_appointment_list.dart'; +import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/builder/build_appointment_list.dart'; import 'package:flutter/material.dart'; import '../../main.dart'; diff --git a/Frontend/lib/mih_packages/appointment/builder/build_access_request_list.dart b/Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart similarity index 100% rename from Frontend/lib/mih_packages/appointment/builder/build_access_request_list.dart rename to Frontend/lib/mih_packages/calendar/builder/build_access_request_list.dart diff --git a/Frontend/lib/mih_packages/appointment/builder/build_appointment_list.dart b/Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart similarity index 100% rename from Frontend/lib/mih_packages/appointment/builder/build_appointment_list.dart rename to Frontend/lib/mih_packages/calendar/builder/build_appointment_list.dart diff --git a/Frontend/lib/mih_packages/appointment/builder/build_queue_list.dart b/Frontend/lib/mih_packages/calendar/builder/build_queue_list.dart similarity index 100% rename from Frontend/lib/mih_packages/appointment/builder/build_queue_list.dart rename to Frontend/lib/mih_packages/calendar/builder/build_queue_list.dart diff --git a/Frontend/lib/mih_packages/appointment/mzansi_calendar.dart b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart similarity index 84% rename from Frontend/lib/mih_packages/appointment/mzansi_calendar.dart rename to Frontend/lib/mih_packages/calendar/mzansi_calendar.dart index 2ca03290..116db3d5 100644 --- a/Frontend/lib/mih_packages/appointment/mzansi_calendar.dart +++ b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart @@ -1,16 +1,15 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart'; import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart'; -import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart'; import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart'; -import 'package:Mzansi_Innovation_Hub/mih_packages/appointment/appointments.dart'; +import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/appointments.dart'; import 'package:flutter/material.dart'; class MzansiCalendar extends StatefulWidget { - final AppUser signedInUser; + final CalendarArguments arguments; const MzansiCalendar({ super.key, - required this.signedInUser, + required this.arguments, }); @override @@ -44,7 +43,7 @@ class _MzansiCalendarState extends State { Navigator.of(context).pop(); Navigator.of(context).popAndPushNamed( '/', - arguments: AuthArguments(true, false), + arguments: AuthArguments(widget.arguments.personalSelected, false), ); }, ); @@ -67,7 +66,7 @@ class _MzansiCalendarState extends State { List getToolBody() { List toolBodies = [ //appointment here - Appointments(signedInUser: widget.signedInUser), + Appointments(signedInUser: widget.arguments.signedInUser), ]; return toolBodies; } From 772fe0f41fe6c08c0ba685f2657dd1a316c0ff16 Mon Sep 17 00:00:00 2001 From: yaso Date: Mon, 17 Feb 2025 10:30:54 +0200 Subject: [PATCH 4/4] add tiles to business side --- .../lib/mih_packages/mih_home/mih_home.dart | 104 +++++++++++++++++- 1 file changed, 102 insertions(+), 2 deletions(-) diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart index 2f04681f..1c21687e 100644 --- a/Frontend/lib/mih_packages/mih_home/mih_home.dart +++ b/Frontend/lib/mih_packages/mih_home/mih_home.dart @@ -253,7 +253,7 @@ class _MIHHomeState extends State { onTap: () { Navigator.of(context).pushNamed( '/calendar', - arguments: widget.signedInUser, + arguments: CalendarArguments(widget.signedInUser, true), ); }, tileName: "Calendar", @@ -350,6 +350,7 @@ class _MIHHomeState extends State { } void setAppsBusiness(List tileList) { + ImageProvider aiLogo = MzanziInnovationHub.of(context)!.theme.aiLogoImage(); tileList.add(MIHTile( videoID: "NWyJZq2ZYOM", onTap: () { @@ -422,6 +423,105 @@ class _MIHHomeState extends State { p: getPrim(), s: getSec(), )); + + tileList.add(MIHTile( + videoID: "nfzhJFY_W4Y", + onTap: () { + Navigator.of(context).pushNamed( + '/calendar', + arguments: CalendarArguments(widget.signedInUser, false), + ); + }, + tileName: "Calendar", + tileIcon: Center( + child: FaIcon( + FontAwesomeIcons.calendarDays, + color: getSec(), + size: 200, + ), + ), + // Icon( + // Icons.calendar_month, + // color: getSec(), + // size: 230, + // ), + p: getPrim(), + s: getSec(), + )); + + tileList.add(MIHTile( + videoID: "dYuLqZWzMnM", + onTap: () { + Navigator.of(context).pushNamed( + '/mzansi-ai', + arguments: widget.signedInUser, + ); + }, + tileName: "Mzansi AI", + tileIcon: Center( + child: SizedBox( + width: 225, + child: Image(image: aiLogo), + ), + ), + // Icon( + // Icons.medication, + // color: getSec(), + // size: 200, + // ), + p: getPrim(), + s: getSec(), + )); + + tileList.add(MIHTile( + videoID: "woQ5hND5EaU", + onTap: () { + Navigator.of(context).pushNamed( + '/calculator', + //arguments: widget.signedInUser, + ); + }, + tileName: "Calculator", + tileIcon: Center( + child: FaIcon( + FontAwesomeIcons.calculator, + color: getSec(), + size: 200, + ), + ), + // Icon( + // Icons.info_outline, + // color: getSec(), + // size: 230, + // ), + p: getPrim(), + s: getSec(), + )); + + tileList.add(MIHTile( + videoID: "hbKhlmY_56U", + onTap: () { + Navigator.of(context).pushNamed( + '/about', + //arguments: widget.signedInUser, + ); + }, + tileName: "About MIH", + tileIcon: Center( + child: FaIcon( + FontAwesomeIcons.circleInfo, + color: getSec(), + size: 200, + ), + ), + // Icon( + // Icons.info_outline, + // color: getSec(), + // size: 230, + // ), + p: getPrim(), + s: getSec(), + )); } void setAppsDev(List tileList) { @@ -944,7 +1044,7 @@ class _MIHHomeState extends State { headerAlignment: MainAxisAlignment.center, headerItems: [ Text( - "Mzanzi Innovation Hub", + "MIH", style: TextStyle( fontWeight: FontWeight.bold, fontSize: 20,