forked from yaso_meth/mih-project
Merge pull request #119 from yaso-meth/NEW--Mzansi-Home-Revamp
NEW--Mzansi-Home-Revamp
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'mih_app_drawer.dart';
|
||||
import '../../mih_packages/mih_home/components/mih_app_drawer.dart';
|
||||
import 'mih_body.dart';
|
||||
import 'mih_header.dart';
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_action.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mih_home/components/mih_app_drawer.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tools.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_swipe_detector/flutter_swipe_detector.dart';
|
||||
|
||||
// ignore: must_be_immutable
|
||||
class MihApp extends StatefulWidget {
|
||||
final MihAppAction appActionButton;
|
||||
final Widget appActionButton;
|
||||
final MihAppTools appTools;
|
||||
final List<Widget> appBody;
|
||||
final MIHAppDrawer? actionDrawer;
|
||||
int selectedbodyIndex;
|
||||
final Function(int) onIndexChange;
|
||||
MihApp({
|
||||
@@ -15,6 +16,7 @@ class MihApp extends StatefulWidget {
|
||||
required this.appActionButton,
|
||||
required this.appTools,
|
||||
required this.appBody,
|
||||
this.actionDrawer,
|
||||
required this.selectedbodyIndex,
|
||||
required this.onIndexChange,
|
||||
});
|
||||
@@ -54,6 +56,7 @@ class _MihAppState extends State<MihApp> {
|
||||
Widget build(BuildContext context) {
|
||||
Size screenSize = MediaQuery.of(context).size;
|
||||
return Scaffold(
|
||||
drawer: widget.actionDrawer,
|
||||
body: SafeArea(
|
||||
child: Container(
|
||||
width: screenSize.width,
|
||||
|
||||
@@ -52,59 +52,71 @@ class _MihAppTileState extends State<MihAppTile> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
double borderRadius = widget.iconSize * 0.25;
|
||||
return SizedBox(
|
||||
width: widget.iconSize,
|
||||
child: Container(
|
||||
alignment: Alignment.topCenter,
|
||||
// color: Colors.black,
|
||||
// constraints: BoxConstraints(),
|
||||
child: Column(
|
||||
children: [
|
||||
AnimatedContainer(
|
||||
//alignment: Alignment.center,
|
||||
width: widget.iconSize,
|
||||
height: widget.iconSize,
|
||||
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(child: widget.appIcon),
|
||||
),
|
||||
),
|
||||
double borderRadius = widget.iconSize * 0.15;
|
||||
return Container(
|
||||
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(child: widget.appIcon),
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
FittedBox(
|
||||
child: Text(
|
||||
widget.appName,
|
||||
textAlign: TextAlign.center,
|
||||
// softWrap: true,
|
||||
// overflow: TextOverflow.visible,
|
||||
style: TextStyle(
|
||||
color:
|
||||
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
fontSize: 40.0,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
Flexible(
|
||||
flex: 1,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
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,
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
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_packages/about_mih/app_tools/mih_info.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/app_tools/mih_privacy_policy.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/app_tools/mih_terms_of_service.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tools/mih_info.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tools/mih_privacy_policy.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tools/mih_terms_of_service.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AboutMih extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
|
||||
class AboutMihTile extends StatefulWidget {
|
||||
final double packageSize;
|
||||
const AboutMihTile({
|
||||
super.key,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<AboutMihTile> createState() => _AboutMihTileState();
|
||||
}
|
||||
|
||||
class _AboutMihTileState extends State<AboutMihTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/about',
|
||||
arguments: 0,
|
||||
);
|
||||
},
|
||||
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,
|
||||
),
|
||||
),
|
||||
// Icon(
|
||||
// Icons.info,
|
||||
// color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
// ),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ 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_packages/access_review/app_tools/mih_access_requests.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/access_review/package_tools/mih_access_requests.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MihAccess extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MihAccessTile extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
final double packageSize;
|
||||
|
||||
const MihAccessTile({
|
||||
super.key,
|
||||
required this.signedInUser,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihAccessTile> createState() => _MihAccessTileState();
|
||||
}
|
||||
|
||||
class _MihAccessTileState extends State<MihAccessTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/mih-access',
|
||||
arguments: widget.signedInUser,
|
||||
);
|
||||
},
|
||||
appName: "MIH Access",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(1),
|
||||
child: Icon(
|
||||
Icons.check_box,
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
),
|
||||
),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
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_packages/calculator/app_tools/simple_calc.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calculator/app_tools/tip_calc.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calculator/package_tools/simple_calc.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calculator/package_tools/tip_calc.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MIHCalculator extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MihCalculatorTile extends StatefulWidget {
|
||||
final bool personalSelected;
|
||||
final double packageSize;
|
||||
|
||||
const MihCalculatorTile({
|
||||
super.key,
|
||||
required this.personalSelected,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihCalculatorTile> createState() => _MihCalculatorTileState();
|
||||
}
|
||||
|
||||
class _MihCalculatorTileState extends State<MihCalculatorTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/calculator',
|
||||
arguments: widget.personalSelected,
|
||||
);
|
||||
},
|
||||
appName: "Calculator",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(0),
|
||||
child: Icon(
|
||||
Icons.calculate,
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
),
|
||||
),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ 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/arguments.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/app_tools/appointments.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/package_tools/appointments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiCalendar extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiCalendarTile extends StatefulWidget {
|
||||
final CalendarArguments arguments;
|
||||
final double packageSize;
|
||||
|
||||
const MzansiCalendarTile({
|
||||
super.key,
|
||||
required this.arguments,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MzansiCalendarTile> createState() => _MzansiCalendarTileState();
|
||||
}
|
||||
|
||||
class _MzansiCalendarTileState extends State<MzansiCalendarTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/calendar',
|
||||
arguments: widget.arguments,
|
||||
);
|
||||
},
|
||||
appName: "Calendar",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(0.5),
|
||||
child: Icon(
|
||||
Icons.calendar_month,
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
),
|
||||
),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../main.dart';
|
||||
import '../../mih_objects/app_user.dart';
|
||||
import '../../mih_objects/arguments.dart';
|
||||
import '../../../main.dart';
|
||||
import '../../../mih_objects/app_user.dart';
|
||||
import '../../../mih_objects/arguments.dart';
|
||||
import 'package:supertokens_flutter/supertokens.dart';
|
||||
import '../mih_profile_picture.dart';
|
||||
import '../../../mih_components/mih_profile_picture.dart';
|
||||
|
||||
class MIHAppDrawer extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
File diff suppressed because it is too large
Load Diff
1323
Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart
Normal file
1323
Frontend/lib/mih_packages/mih_home/mih_home_legacy.dart
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@ import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih-app_tool_bo
|
||||
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_packages/mih_home/mih_home.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../mih_apis/mih_api_calls.dart';
|
||||
@@ -12,7 +13,6 @@ import '../../mih_env/env.dart';
|
||||
import '../../mih_objects/app_user.dart';
|
||||
import '../../mih_objects/arguments.dart';
|
||||
import '../../mih_objects/business_user.dart';
|
||||
import 'mih_home.dart';
|
||||
|
||||
class MIHProfileGetter extends StatefulWidget {
|
||||
final bool personalSelected;
|
||||
@@ -242,7 +242,7 @@ class _MIHProfileGetterState extends State<MIHProfileGetter> {
|
||||
builder: (BuildContext context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
if (snapshot.hasData) {
|
||||
return MIHHome(
|
||||
return MihHome(
|
||||
signedInUser: snapshot.requireData.signedInUser,
|
||||
businessUser: snapshot.data!.businessUser,
|
||||
business: snapshot.data!.business,
|
||||
@@ -255,6 +255,19 @@ class _MIHProfileGetterState extends State<MIHProfileGetter> {
|
||||
isDevActive: isDevActive(),
|
||||
personalSelected: widget.personalSelected,
|
||||
);
|
||||
// return MIHHomeLegacy(
|
||||
// signedInUser: snapshot.requireData.signedInUser,
|
||||
// businessUser: snapshot.data!.businessUser,
|
||||
// business: snapshot.data!.business,
|
||||
// patient: snapshot.data!.patient,
|
||||
// notifications: snapshot.data!.notifi,
|
||||
// propicFile: isPictureAvailable(snapshot.data!.profilePicUrl),
|
||||
// isUserNew: isUserNew(snapshot.requireData.signedInUser),
|
||||
// isBusinessUser: isBusinessUser(snapshot.requireData.signedInUser),
|
||||
// isBusinessUserNew: isBusinessUserNew(snapshot.data!.businessUser),
|
||||
// isDevActive: isDevActive(),
|
||||
// personalSelected: widget.personalSelected,
|
||||
// );
|
||||
} else {
|
||||
return errorPage(snapshot.error.toString());
|
||||
}
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_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/mih-app_tool_body.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_objects/business.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/business_user.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tile/about_mih_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calculator/package_tiles/mih_calculator_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/package_tiles/mzansi_calendar_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_ai/package_tiles/mzansi_ai_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_business_profile_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/package_tiles/pat_manager_tile.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class MihBusinessHome extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
final bool personalSelected;
|
||||
final Business? business;
|
||||
final BusinessUser? businessUser;
|
||||
const MihBusinessHome({
|
||||
super.key,
|
||||
required this.signedInUser,
|
||||
required this.personalSelected,
|
||||
required this.business,
|
||||
required this.businessUser,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihBusinessHome> createState() => _MihBusinessHomeState();
|
||||
}
|
||||
|
||||
class _MihBusinessHomeState extends State<MihBusinessHome> {
|
||||
final FocusNode _focusNode = FocusNode();
|
||||
final TextEditingController searchController = TextEditingController();
|
||||
String packageSearch = "";
|
||||
late List<Widget> businessPackages;
|
||||
double packageSize = 200;
|
||||
|
||||
List<Widget> setBusinessPackages() {
|
||||
List<Widget> temp = [];
|
||||
//=============== Biz Profile ===============
|
||||
temp.add(
|
||||
MzansiBusinessProfileTile(
|
||||
arguments: BusinessArguments(
|
||||
widget.signedInUser,
|
||||
widget.businessUser,
|
||||
widget.business,
|
||||
),
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Pat Manager ===============
|
||||
temp.add(
|
||||
PatManagerTile(
|
||||
arguments: PatManagerArguments(
|
||||
widget.signedInUser,
|
||||
false,
|
||||
widget.business,
|
||||
widget.businessUser,
|
||||
),
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Calendar ===============
|
||||
temp.add(
|
||||
MzansiCalendarTile(
|
||||
arguments: CalendarArguments(
|
||||
widget.signedInUser,
|
||||
false,
|
||||
widget.business,
|
||||
widget.businessUser,
|
||||
),
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Mzansi AI ===============
|
||||
temp.add(
|
||||
MzansiAiTile(
|
||||
signedInUser: widget.signedInUser,
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Calculator ===============
|
||||
temp.add(
|
||||
MihCalculatorTile(
|
||||
personalSelected: widget.personalSelected,
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== About MIH ===============
|
||||
temp.add(
|
||||
AboutMihTile(packageSize: packageSize),
|
||||
);
|
||||
return temp;
|
||||
}
|
||||
|
||||
EdgeInsets getPadding(double width, double height) {
|
||||
if (MzanziInnovationHub.of(context)!.theme.screenType == "mobile") {
|
||||
double mobilePadding = 10;
|
||||
return EdgeInsets.only(
|
||||
left: mobilePadding,
|
||||
right: mobilePadding,
|
||||
bottom: mobilePadding,
|
||||
);
|
||||
} else {
|
||||
return EdgeInsets.only(
|
||||
left: width / 13,
|
||||
right: width / 13,
|
||||
bottom: height / 15,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
searchController.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
businessPackages = setBusinessPackages();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final Size size = MediaQuery.sizeOf(context);
|
||||
final double width = size.width;
|
||||
final double height = size.height;
|
||||
return MihAppToolBody(
|
||||
borderOn: true,
|
||||
bodyItem: getBody(width, height),
|
||||
);
|
||||
}
|
||||
|
||||
Widget getBody(double width, double height) {
|
||||
return MihSingleChildScroll(
|
||||
child: Column(
|
||||
children: [
|
||||
const Text(
|
||||
"Business Home",
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 25,
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Flexible(
|
||||
flex: 4,
|
||||
child: KeyboardListener(
|
||||
focusNode: _focusNode,
|
||||
autofocus: true,
|
||||
onKeyEvent: (event) async {
|
||||
if (event is KeyDownEvent &&
|
||||
event.logicalKey == LogicalKeyboardKey.enter) {
|
||||
setState(() {
|
||||
packageSearch = searchController.text;
|
||||
});
|
||||
}
|
||||
},
|
||||
child: SizedBox(
|
||||
child: MIHSearchField(
|
||||
controller: searchController,
|
||||
hintText: "Search Mzansi Packages",
|
||||
required: false,
|
||||
editable: true,
|
||||
onTap: () {
|
||||
setState(() {
|
||||
packageSearch = searchController.text;
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Flexible(
|
||||
flex: 1,
|
||||
child: IconButton(
|
||||
//padding: const EdgeInsets.all(0),
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
packageSearch = "";
|
||||
searchController.clear();
|
||||
});
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.filter_alt_off,
|
||||
size: 30,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
GridView.builder(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
padding: getPadding(width, height),
|
||||
// shrinkWrap: true,
|
||||
itemCount: businessPackages.length,
|
||||
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
|
||||
maxCrossAxisExtent: packageSize,
|
||||
),
|
||||
itemBuilder: (context, index) {
|
||||
return businessPackages[index];
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,240 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_search_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/mih-app_tool_body.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_objects/business.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/business_user.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/about_mih/package_tile/about_mih_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/access_review/package_tile/mih_access_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calculator/package_tiles/mih_calculator_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/calendar/package_tiles/mzansi_calendar_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_ai/package_tiles/mzansi_ai_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/personal_profile/package_tiles/mzansi_profile_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_wallet/package_tiles/mih_wallet_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/package_tiles/patient_profile_tile.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class MihPersonalHome extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
final bool personalSelected;
|
||||
final Business? business;
|
||||
final BusinessUser? businessUser;
|
||||
final ImageProvider<Object>? propicFile;
|
||||
|
||||
const MihPersonalHome({
|
||||
super.key,
|
||||
required this.signedInUser,
|
||||
required this.personalSelected,
|
||||
required this.business,
|
||||
required this.businessUser,
|
||||
required this.propicFile,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihPersonalHome> createState() => _MihPersonalHomeState();
|
||||
}
|
||||
|
||||
class _MihPersonalHomeState extends State<MihPersonalHome> {
|
||||
final FocusNode _focusNode = FocusNode();
|
||||
final TextEditingController searchController = TextEditingController();
|
||||
String packageSearch = "";
|
||||
late List<Widget> personalPackages;
|
||||
double packageSize = 200;
|
||||
|
||||
List<Widget> setPersonalPackages() {
|
||||
List<Widget> temp = [];
|
||||
//=============== Mzansi Profile ===============
|
||||
temp.add(
|
||||
MzansiProfileTile(
|
||||
signedInUser: widget.signedInUser,
|
||||
propicFile: widget.propicFile,
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Mzansi Wallet ===============
|
||||
temp.add(
|
||||
MihWalletTile(
|
||||
signedInUser: widget.signedInUser,
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Patient Profile ===============
|
||||
temp.add(
|
||||
PatientProfileTile(
|
||||
arguments: PatientViewArguments(
|
||||
widget.signedInUser,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"personal",
|
||||
),
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Mzansi AI ===============
|
||||
temp.add(
|
||||
MzansiAiTile(
|
||||
signedInUser: widget.signedInUser,
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Calendar ===============
|
||||
temp.add(
|
||||
MzansiCalendarTile(
|
||||
arguments: CalendarArguments(
|
||||
widget.signedInUser,
|
||||
true,
|
||||
widget.business,
|
||||
widget.businessUser,
|
||||
),
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== Calculator ===============
|
||||
temp.add(
|
||||
MihCalculatorTile(
|
||||
personalSelected: widget.personalSelected,
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== MIH Access ===============
|
||||
temp.add(
|
||||
MihAccessTile(
|
||||
signedInUser: widget.signedInUser,
|
||||
packageSize: packageSize,
|
||||
),
|
||||
);
|
||||
//=============== About MIH ===============
|
||||
temp.add(
|
||||
AboutMihTile(packageSize: packageSize),
|
||||
);
|
||||
return temp;
|
||||
}
|
||||
|
||||
EdgeInsets getPadding(double width, double height) {
|
||||
if (MzanziInnovationHub.of(context)!.theme.screenType == "mobile") {
|
||||
double mobilePadding = 10;
|
||||
return EdgeInsets.only(
|
||||
left: mobilePadding,
|
||||
right: mobilePadding,
|
||||
bottom: mobilePadding,
|
||||
);
|
||||
} else {
|
||||
return EdgeInsets.only(
|
||||
left: width / 13,
|
||||
right: width / 13,
|
||||
bottom: height / 15,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
searchController.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
personalPackages = setPersonalPackages();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final Size size = MediaQuery.sizeOf(context);
|
||||
final double width = size.width;
|
||||
final double height = size.height;
|
||||
|
||||
return MihAppToolBody(
|
||||
borderOn: true,
|
||||
bodyItem: getBody(width, height),
|
||||
);
|
||||
}
|
||||
|
||||
Widget getBody(double width, double height) {
|
||||
return MihSingleChildScroll(
|
||||
child: Column(
|
||||
children: [
|
||||
const Text(
|
||||
"Personal Home",
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 25,
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Flexible(
|
||||
flex: 4,
|
||||
child: KeyboardListener(
|
||||
focusNode: _focusNode,
|
||||
autofocus: true,
|
||||
onKeyEvent: (event) async {
|
||||
if (event is KeyDownEvent &&
|
||||
event.logicalKey == LogicalKeyboardKey.enter) {
|
||||
setState(() {
|
||||
packageSearch = searchController.text;
|
||||
});
|
||||
}
|
||||
},
|
||||
child: SizedBox(
|
||||
child: MIHSearchField(
|
||||
controller: searchController,
|
||||
hintText: "Search Mzansi Packages",
|
||||
required: false,
|
||||
editable: true,
|
||||
onTap: () {
|
||||
setState(() {
|
||||
packageSearch = searchController.text;
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Flexible(
|
||||
flex: 1,
|
||||
child: IconButton(
|
||||
//padding: const EdgeInsets.all(0),
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
packageSearch = "";
|
||||
searchController.clear();
|
||||
});
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.filter_alt_off,
|
||||
size: 30,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
GridView.builder(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
padding: getPadding(width, height),
|
||||
// shrinkWrap: true,
|
||||
itemCount: personalPackages.length,
|
||||
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
|
||||
maxCrossAxisExtent: packageSize,
|
||||
),
|
||||
itemBuilder: (context, index) {
|
||||
return personalPackages[index];
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ 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_packages/mzansi_ai/app_tools/ai_chat.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_ai/package_tools/ai_chat.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiAi extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiAiTile extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
final double packageSize;
|
||||
|
||||
const MzansiAiTile({
|
||||
super.key,
|
||||
required this.signedInUser,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MzansiAiTile> createState() => _MzansiAiTileState();
|
||||
}
|
||||
|
||||
class _MzansiAiTileState extends State<MzansiAiTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
ImageProvider aiLogo = MzanziInnovationHub.of(context)!.theme.aiLogoImage();
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/mzansi-ai',
|
||||
arguments: widget.signedInUser,
|
||||
);
|
||||
},
|
||||
appName: "Mzansi AI",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(25),
|
||||
child: Image(image: aiLogo),
|
||||
),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,9 @@ 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/arguments.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/app_tools/mih_business_profile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/app_tools/mih_business_user_search.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/app_tools/mih_my_business_team.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_profile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_user_search.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/business_profile/package_tools/mih_my_business_team.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiBusinessProfile extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiBusinessProfileTile extends StatefulWidget {
|
||||
final BusinessArguments arguments;
|
||||
final double packageSize;
|
||||
const MzansiBusinessProfileTile({
|
||||
super.key,
|
||||
required this.arguments,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MzansiBusinessProfileTile> createState() =>
|
||||
_MzansiBusinessProfileTileState();
|
||||
}
|
||||
|
||||
class _MzansiBusinessProfileTileState extends State<MzansiBusinessProfileTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/business-profile/manage',
|
||||
arguments: widget.arguments,
|
||||
);
|
||||
},
|
||||
appName: "Business Profile",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(0.5),
|
||||
child: Icon(
|
||||
Icons.business_center,
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
),
|
||||
),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -3,18 +3,18 @@ import 'dart:convert';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:supertokens_flutter/http.dart' as http;
|
||||
|
||||
import '../../../main.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../../mih_components/mih_layout/mih_window.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_delete_message.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../mih_env/env.dart';
|
||||
import '../../../mih_objects/arguments.dart';
|
||||
import '../../../mih_objects/business_employee.dart';
|
||||
import '../../../../main.dart';
|
||||
import '../../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../../../mih_components/mih_layout/mih_window.dart';
|
||||
import '../../../../mih_components/mih_pop_up_messages/mih_delete_message.dart';
|
||||
import '../../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../../mih_env/env.dart';
|
||||
import '../../../../mih_objects/arguments.dart';
|
||||
import '../../../../mih_objects/business_employee.dart';
|
||||
|
||||
class BuildEmployeeList extends StatefulWidget {
|
||||
final List<BusinessEmployee> employees;
|
||||
@@ -3,17 +3,17 @@ import 'dart:convert';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:supertokens_flutter/http.dart' as http;
|
||||
|
||||
import '../../../main.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../../mih_components/mih_layout/mih_window.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../mih_env/env.dart';
|
||||
import '../../../mih_objects/app_user.dart';
|
||||
import '../../../mih_objects/arguments.dart';
|
||||
import '../../../../main.dart';
|
||||
import '../../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../../../mih_components/mih_layout/mih_window.dart';
|
||||
import '../../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../../mih_env/env.dart';
|
||||
import '../../../../mih_objects/app_user.dart';
|
||||
import '../../../../mih_objects/arguments.dart';
|
||||
|
||||
class BuildUserList extends StatefulWidget {
|
||||
final List<AppUser> users;
|
||||
@@ -3,20 +3,20 @@ import 'dart:convert';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import '../../main.dart';
|
||||
import '../../../main.dart';
|
||||
import 'package:supertokens_flutter/http.dart' as http;
|
||||
import 'package:supertokens_flutter/supertokens.dart';
|
||||
import 'package:http/http.dart' as http2;
|
||||
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../mih_env/env.dart';
|
||||
import '../../mih_objects/arguments.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../mih_env/env.dart';
|
||||
import '../../../mih_objects/arguments.dart';
|
||||
|
||||
class BusinessAbout extends StatefulWidget {
|
||||
final BusinessArguments arguments;
|
||||
@@ -3,21 +3,21 @@ import 'dart:convert';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import '../../main.dart';
|
||||
import '../../../main.dart';
|
||||
import 'package:supertokens_flutter/http.dart' as http;
|
||||
import 'package:supertokens_flutter/supertokens.dart';
|
||||
import 'package:http/http.dart' as http2;
|
||||
|
||||
import '../../mih_apis/mih_location_api.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../mih_env/env.dart';
|
||||
import '../../mih_objects/arguments.dart';
|
||||
import '../../../mih_apis/mih_location_api.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../mih_env/env.dart';
|
||||
import '../../../mih_objects/arguments.dart';
|
||||
|
||||
class BusinessDetails extends StatefulWidget {
|
||||
final BusinessArguments arguments;
|
||||
@@ -3,21 +3,21 @@ import 'dart:convert';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_swipe_detector/flutter_swipe_detector.dart';
|
||||
import '../../main.dart';
|
||||
import '../../../main.dart';
|
||||
import 'package:supertokens_flutter/http.dart' as http;
|
||||
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_search_input.dart';
|
||||
import '../../mih_components/mih_layout/mih_action.dart';
|
||||
import '../../mih_components/mih_layout/mih_body.dart';
|
||||
import '../../mih_components/mih_layout/mih_header.dart';
|
||||
import '../../mih_components/mih_layout/mih_layout_builder.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../mih_env/env.dart';
|
||||
import '../../mih_objects/app_user.dart';
|
||||
import '../../mih_objects/arguments.dart';
|
||||
import '../../mih_objects/business_employee.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_search_input.dart';
|
||||
import '../../../mih_components/mih_layout/mih_action.dart';
|
||||
import '../../../mih_components/mih_layout/mih_body.dart';
|
||||
import '../../../mih_components/mih_layout/mih_header.dart';
|
||||
import '../../../mih_components/mih_layout/mih_layout_builder.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../mih_env/env.dart';
|
||||
import '../../../mih_objects/app_user.dart';
|
||||
import '../../../mih_objects/arguments.dart';
|
||||
import '../../../mih_objects/business_employee.dart';
|
||||
import 'builder/build_employee_list.dart';
|
||||
import 'builder/build_user_list.dart';
|
||||
import 'business_details.dart';
|
||||
@@ -3,26 +3,26 @@ import 'dart:convert';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import '../../main.dart';
|
||||
import '../../../main.dart';
|
||||
import 'package:supertokens_flutter/http.dart' as http;
|
||||
import 'package:supertokens_flutter/supertokens.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:http/http.dart' as http2;
|
||||
|
||||
import '../../mih_apis/mih_location_api.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
|
||||
import '../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../mih_components/mih_layout/mih_action.dart';
|
||||
import '../../mih_components/mih_layout/mih_body.dart';
|
||||
import '../../mih_components/mih_layout/mih_header.dart';
|
||||
import '../../mih_components/mih_layout/mih_layout_builder.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../mih_env/env.dart';
|
||||
import '../../mih_objects/app_user.dart';
|
||||
import '../../../mih_apis/mih_location_api.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
|
||||
import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
|
||||
import '../../../mih_components/mih_layout/mih_action.dart';
|
||||
import '../../../mih_components/mih_layout/mih_body.dart';
|
||||
import '../../../mih_components/mih_layout/mih_header.dart';
|
||||
import '../../../mih_components/mih_layout/mih_layout_builder.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
|
||||
import '../../../mih_env/env.dart';
|
||||
import '../../../mih_objects/app_user.dart';
|
||||
|
||||
class ProfileBusinessAdd extends StatefulWidget {
|
||||
//final BusinessUserScreenArguments arguments;
|
||||
@@ -2,7 +2,7 @@ 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/arguments.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/personal_profile/app_tools/mih_personal_profile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiProfile extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/app_user.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MzansiProfileTile extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
final ImageProvider<Object>? propicFile;
|
||||
final double packageSize;
|
||||
|
||||
const MzansiProfileTile({
|
||||
super.key,
|
||||
required this.signedInUser,
|
||||
required this.propicFile,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MzansiProfileTile> createState() => _MzansiProfileTileState();
|
||||
}
|
||||
|
||||
class _MzansiProfileTileState extends State<MzansiProfileTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
ImageProvider logo = MzanziInnovationHub.of(context)!.theme.logoImage();
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/mzansi-profile',
|
||||
arguments: AppProfileUpdateArguments(
|
||||
widget.signedInUser,
|
||||
widget.propicFile,
|
||||
),
|
||||
);
|
||||
},
|
||||
appName: "Mzansi Profile",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(25),
|
||||
child: Image(image: logo),
|
||||
),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ 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_packages/mzansi_wallet/app_tools/mih_cards.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_wallet/package_tools/mih_cards.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MihWallet extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.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';
|
||||
|
||||
class MihWalletTile extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
final double packageSize;
|
||||
|
||||
const MihWalletTile({
|
||||
super.key,
|
||||
required this.signedInUser,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihWalletTile> createState() => _MihWalletTileState();
|
||||
}
|
||||
|
||||
class _MihWalletTileState extends State<MihWalletTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/mzansi-wallet',
|
||||
arguments: widget.signedInUser,
|
||||
);
|
||||
},
|
||||
appName: "Mzansi Wallet",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(25),
|
||||
child: FaIcon(
|
||||
FontAwesomeIcons.wallet,
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
size: widget.packageSize,
|
||||
),
|
||||
),
|
||||
iconSize: 200,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PatManagerTile extends StatefulWidget {
|
||||
final PatManagerArguments arguments;
|
||||
final double packageSize;
|
||||
const PatManagerTile({
|
||||
super.key,
|
||||
required this.arguments,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<PatManagerTile> createState() => _PatManagerTileState();
|
||||
}
|
||||
|
||||
class _PatManagerTileState extends State<PatManagerTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/patient-manager',
|
||||
arguments: widget.arguments,
|
||||
);
|
||||
},
|
||||
appName: "Patient Manager",
|
||||
appIcon: Container(
|
||||
padding: const EdgeInsets.all(1),
|
||||
child: Icon(
|
||||
Icons.medical_services,
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
),
|
||||
),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,9 @@ 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/arguments.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/app_tools/mih_patient_search.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/app_tools/my_patient_list.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/app_tools/waiting_room.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/package_tools/mih_patient_search.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/package_tools/my_patient_list.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_manager/package_tools/waiting_room.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PatManager extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import 'package:Mzansi_Innovation_Hub/main.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_components/mih_package/mih_app_tile.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_objects/arguments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PatientProfileTile extends StatefulWidget {
|
||||
final PatientViewArguments arguments;
|
||||
final double packageSize;
|
||||
|
||||
const PatientProfileTile({
|
||||
super.key,
|
||||
required this.arguments,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@override
|
||||
State<PatientProfileTile> createState() => _PatientProfileTileState();
|
||||
}
|
||||
|
||||
class _PatientProfileTileState extends State<PatientProfileTile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MihAppTile(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(
|
||||
'/patient-profile',
|
||||
arguments: widget.arguments,
|
||||
);
|
||||
},
|
||||
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,
|
||||
)),
|
||||
iconSize: widget.packageSize,
|
||||
primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,10 +2,10 @@ 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/arguments.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/app_tools/patient_claim_or_statement.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/app_tools/patient_consultation.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/app_tools/patient_documents.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/app_tools/patient_info.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/package_tools/patient_claim_or_statement.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/package_tools/patient_consultation.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/package_tools/patient_documents.dart';
|
||||
import 'package:Mzansi_Innovation_Hub/mih_packages/patient_profile/pat_profile/package_tools/patient_info.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PatientProfile extends StatefulWidget {
|
||||
|
||||
@@ -24,7 +24,7 @@ import '../mih_objects/arguments.dart';
|
||||
import '../mih_packages/authentication/forgot_password.dart';
|
||||
import '../mih_packages/authentication/reset_password.dart';
|
||||
import '../mih_packages/patient_profile/pat_profile/components/full_screen_file.dart';
|
||||
import '../mih_packages/manage_business/profile_business_add.dart';
|
||||
import '../mih_packages/mzansi_profile/manage_business/profile_business_add.dart';
|
||||
|
||||
class RouteGenerator {
|
||||
static Route<dynamic> generateRoute(RouteSettings settings) {
|
||||
@@ -112,7 +112,7 @@ class RouteGenerator {
|
||||
//===============================================================
|
||||
|
||||
//User Profile
|
||||
case '/user-profile':
|
||||
case '/mzansi-profile':
|
||||
if (args is AppProfileUpdateArguments) {
|
||||
return MaterialPageRoute(
|
||||
settings: settings,
|
||||
|
||||
Reference in New Issue
Block a user