Merge pull request #182 from yaso-meth/QoL--Package-window-Component-update

QoL--Package-window-Component-update
This commit is contained in:
yaso-meth
2025-05-28 13:40:56 +02:00
committed by GitHub
86 changed files with 3006 additions and 3530 deletions

View File

@@ -1,7 +1,7 @@
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../main.dart';
import 'mih_window.dart';
class MIHTile extends StatefulWidget { class MIHTile extends StatefulWidget {
final String tileName; final String tileName;
@@ -47,16 +47,17 @@ class _MIHTileState extends State<MIHTile> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: widget.tileName, windowTitle: widget.tileName,
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
MIHYTVideoPlayer(videoYTLink: widget.videoID!), MIHYTVideoPlayer(videoYTLink: widget.videoID!),
], ],
),
); );
}, },
); );

View File

@@ -1,214 +0,0 @@
import 'package:flutter/material.dart';
import '../../main.dart';
class MIHWindow extends StatefulWidget {
final String windowTitle;
final List<Widget> windowBody;
final List<Widget> windowTools;
final void Function() onWindowTapClose;
final bool fullscreen;
const MIHWindow({
super.key,
required this.fullscreen,
required this.windowTitle,
required this.windowTools,
required this.onWindowTapClose,
required this.windowBody,
});
@override
State<MIHWindow> createState() => _MIHWindowState();
}
class _MIHWindowState extends State<MIHWindow> {
late double windowTitleSize;
late double horizontralWindowPadding;
late double vertticalWindowPadding;
late double windowWidth;
late double windowHeight;
late double width;
late double height;
void checkScreenSize() {
// print("screen width: $width");
// print("screen height: $height");
if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") {
setState(() {
windowTitleSize = 25;
horizontralWindowPadding = width / 7;
vertticalWindowPadding = 25;
windowWidth = width;
windowHeight = height;
});
} else {
setState(() {
windowTitleSize = 20;
horizontralWindowPadding = 10;
vertticalWindowPadding = 10;
windowWidth = width;
windowHeight = height;
});
}
}
Widget getWidnowClose() {
return Container(
alignment: Alignment.centerRight,
child: IconButton(
onPressed: widget.onWindowTapClose,
icon: Icon(
Icons.close,
color: MzanziInnovationHub.of(context)!.theme.errorColor(),
size: 35,
),
),
);
}
Widget getWidnowTools() {
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: widget.windowTools,
);
}
Widget getWidnowTitle() {
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
Expanded(
child: Text(
widget.windowTitle,
textAlign: TextAlign.center,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
fontSize: windowTitleSize,
fontWeight: FontWeight.bold,
),
),
),
],
);
}
Widget getWidnowHeader() {
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: [
getWidnowTools(),
Expanded(
flex: 2,
child: getWidnowTitle(),
),
getWidnowClose(),
],
);
}
Widget getWidnowBody() {
if (widget.fullscreen) {
return Expanded(
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: widget.windowBody,
),
),
);
} else {
return Padding(
padding: const EdgeInsets.all(10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: widget.windowBody,
),
);
}
}
Widget createWindow(Widget header, Widget body) {
Widget visibleItems;
if (widget.fullscreen) {
visibleItems = Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
header,
//const Divider(),
body,
],
);
} else {
visibleItems = SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
header,
//const Divider(),
body,
],
),
);
}
return Dialog(
insetPadding: EdgeInsets.symmetric(
horizontal: horizontralWindowPadding,
vertical: vertticalWindowPadding,
),
insetAnimationCurve: Easing.emphasizedDecelerate,
insetAnimationDuration: Durations.short1,
child: Container(
//padding: const EdgeInsets.all(10),
width: windowWidth,
//height: windowHeight,
decoration: BoxDecoration(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
borderRadius: BorderRadius.circular(25.0),
border: Border.all(
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 5.0),
),
child: visibleItems,
),
);
}
@override
void dispose() {
super.dispose();
}
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
var size = MediaQuery.of(context).size;
setState(() {
width = size.width;
height = size.height;
});
checkScreenSize();
return createWindow(
getWidnowHeader(),
getWidnowBody(),
);
}
}

View File

@@ -1,8 +1,8 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
@@ -18,8 +18,8 @@ class PackageTest extends StatefulWidget {
class _PackageTestState extends State<PackageTest> { class _PackageTestState extends State<PackageTest> {
int _selcetedIndex = 0; int _selcetedIndex = 0;
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -32,7 +32,7 @@ class _PackageTestState extends State<PackageTest> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = Map(); Map<Widget, void Function()?> temp = Map();
temp[const Icon(Icons.inbox)] = () { temp[const Icon(Icons.inbox)] = () {
setState(() { setState(() {
@@ -44,7 +44,7 @@ class _PackageTestState extends State<PackageTest> {
_selcetedIndex = 1; _selcetedIndex = 1;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );
@@ -54,7 +54,7 @@ class _PackageTestState extends State<PackageTest> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return MihAppAlert( return MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.warning_amber_rounded, Icons.warning_amber_rounded,
size: 100, size: 100,
@@ -119,7 +119,7 @@ class _PackageTestState extends State<PackageTest> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),

View File

@@ -4,8 +4,8 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
@@ -29,7 +29,7 @@ class _PackageToolOneState extends State<PackageToolOne> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MihAppWindow( return MihPackageWindow(
fullscreen: true, fullscreen: true,
windowTitle: "Test Full", windowTitle: "Test Full",
onWindowTapClose: () { onWindowTapClose: () {
@@ -46,9 +46,29 @@ class _PackageToolOneState extends State<PackageToolOne> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MihAppWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Test No Full", windowTitle: "Test No Full",
menuOptions: [
SpeedDialChild(
child: Icon(
Icons.add,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Show New Window",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
// showTestWindow();
},
),
],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
@@ -71,7 +91,7 @@ class _PackageToolOneState extends State<PackageToolOne> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
class PackageToolTwo extends StatefulWidget { class PackageToolTwo extends StatefulWidget {
@@ -14,7 +14,7 @@ class PackageToolTwo extends StatefulWidget {
class _PackageToolTwoState extends State<PackageToolTwo> { class _PackageToolTwoState extends State<PackageToolTwo> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: false, borderOn: false,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,183 +0,0 @@
import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
class MihAppWindow extends StatefulWidget {
final String windowTitle;
final Widget windowBody;
final Widget? windowTools;
// final List<SpeedDialChild> menuOptions;
final void Function() onWindowTapClose;
final bool fullscreen;
const MihAppWindow({
super.key,
required this.fullscreen,
required this.windowTitle,
this.windowTools,
// required this.menuOptions,
required this.onWindowTapClose,
required this.windowBody,
});
@override
State<MihAppWindow> createState() => _MihAppWindowState();
}
class _MihAppWindowState extends State<MihAppWindow> {
late double windowTitleSize;
late double horizontralWindowPadding;
late double vertticalWindowPadding;
late double windowWidth;
late double windowHeight;
late double width;
late double height;
void checkScreenSize() {
// print("screen width: $width");
// print("screen height: $height");
if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") {
setState(() {
windowTitleSize = 25;
horizontralWindowPadding = width / 7;
vertticalWindowPadding = 25;
windowWidth = width;
windowHeight = height;
});
} else {
setState(() {
windowTitleSize = 20;
horizontralWindowPadding = 10;
vertticalWindowPadding = 10;
windowWidth = width;
windowHeight = height;
});
}
}
Widget getWindowHeader() {
return Container(
// color: Colors.green,
alignment: Alignment.center,
height: 50,
child: Row(
children: [
Container(
// color: Colors.white,
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(25), // Optional: rounds the corners
boxShadow: const [
BoxShadow(
color: Color.fromARGB(
60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2)
spreadRadius: -5,
blurRadius: 5,
offset: Offset(0, 5),
),
],
),
child: IconButton.filled(
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all<Color>(
MzanziInnovationHub.of(context)!.theme.errorColor()),
),
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
iconSize: 20,
onPressed: () {
widget.onWindowTapClose();
},
icon: const Icon(
Icons.close,
),
),
),
Expanded(
child: Container(
padding: EdgeInsets.symmetric(horizontal: 15),
// color: Colors.pink,
child: Text(
widget.windowTitle,
textAlign: TextAlign.left,
style: TextStyle(
fontSize: windowTitleSize,
fontWeight: FontWeight.bold,
color:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
),
),
),
),
widget.windowTools != null ? widget.windowTools! : Container(),
],
),
);
}
@override
void dispose() {
super.dispose();
}
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
var size = MediaQuery.of(context).size;
setState(() {
width = size.width;
height = size.height;
});
checkScreenSize();
return Dialog(
insetPadding: EdgeInsets.symmetric(
horizontal: horizontralWindowPadding,
vertical: vertticalWindowPadding,
),
insetAnimationCurve: Easing.emphasizedDecelerate,
insetAnimationDuration: Durations.short1,
child: Container(
decoration: BoxDecoration(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
borderRadius: BorderRadius.circular(25.0),
border: Border.all(
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 5.0),
),
child: widget.fullscreen
? Column(
mainAxisSize: MainAxisSize.max,
children: [
getWindowHeader(),
Expanded(
child: SingleChildScrollView(child: widget.windowBody)),
],
)
: Column(
mainAxisSize: MainAxisSize.min,
children: [
getWindowHeader(),
Flexible(
child: Padding(
padding: EdgeInsets.only(
left: 25,
right: 25,
bottom: vertticalWindowPadding,
),
child: ConstrainedBox(
constraints: BoxConstraints(
maxHeight: windowHeight * 0.85,
maxWidth: windowWidth * 0.85,
),
child: MihSingleChildScroll(
child: widget.windowBody))),
),
],
),
),
);
}
}

View File

@@ -4,12 +4,14 @@ import 'package:mzansi_innovation_hub/main.dart';
class MihFloatingMenu extends StatefulWidget { class MihFloatingMenu extends StatefulWidget {
final IconData? icon; final IconData? icon;
final double? iconSize;
final AnimatedIconData? animatedIcon; final AnimatedIconData? animatedIcon;
final SpeedDialDirection? direction; final SpeedDialDirection? direction;
final List<SpeedDialChild> children; final List<SpeedDialChild> children;
const MihFloatingMenu({ const MihFloatingMenu({
super.key, super.key,
this.icon, this.icon,
this.iconSize,
this.animatedIcon, this.animatedIcon,
this.direction, this.direction,
required this.children, required this.children,
@@ -22,13 +24,9 @@ class MihFloatingMenu extends StatefulWidget {
class _MihFloatingMenuState extends State<MihFloatingMenu> { class _MihFloatingMenuState extends State<MihFloatingMenu> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Padding( return SpeedDial(
padding: const EdgeInsets.only(
right: 5.0,
bottom: 5.0,
),
child: SpeedDial(
icon: widget.icon, icon: widget.icon,
buttonSize: Size(widget.iconSize ?? 56.0, widget.iconSize ?? 56.0),
animatedIcon: widget.animatedIcon, animatedIcon: widget.animatedIcon,
direction: widget.direction ?? SpeedDialDirection.up, direction: widget.direction ?? SpeedDialDirection.up,
activeIcon: Icons.close, activeIcon: Icons.close,
@@ -41,7 +39,6 @@ class _MihFloatingMenuState extends State<MihFloatingMenu> {
children: widget.children, children: widget.children,
onOpen: () => debugPrint('OPENING DIAL'), onOpen: () => debugPrint('OPENING DIAL'),
onClose: () => debugPrint('DIAL CLOSED'), onClose: () => debugPrint('DIAL CLOSED'),
),
); );
} }
} }

View File

@@ -1,18 +1,18 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_packages/mih_home/components/mih_app_drawer.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_home/components/mih_app_drawer.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// import 'package:flutter_swipe_detector/flutter_swipe_detector.dart'; // import 'package:flutter_swipe_detector/flutter_swipe_detector.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class MihApp extends StatefulWidget { class MihPackage extends StatefulWidget {
final Widget appActionButton; final Widget appActionButton;
final MihAppTools appTools; final MihPackageTools appTools;
final List<Widget> appBody; final List<Widget> appBody;
final MIHAppDrawer? actionDrawer; final MIHAppDrawer? actionDrawer;
int selectedbodyIndex; int selectedbodyIndex;
final Function(int) onIndexChange; final Function(int) onIndexChange;
MihApp({ MihPackage({
super.key, super.key,
required this.appActionButton, required this.appActionButton,
required this.appTools, required this.appTools,
@@ -23,10 +23,11 @@ class MihApp extends StatefulWidget {
}); });
@override @override
State<MihApp> createState() => _MihAppState(); State<MihPackage> createState() => _MihPackageState();
} }
class _MihAppState extends State<MihApp> with SingleTickerProviderStateMixin { class _MihPackageState extends State<MihPackage>
with SingleTickerProviderStateMixin {
late PageController _pageController; late PageController _pageController;
late AnimationController _animationController; late AnimationController _animationController;
@@ -65,7 +66,7 @@ class _MihAppState extends State<MihApp> with SingleTickerProviderStateMixin {
} }
@override @override
void didUpdateWidget(covariant MihApp oldWidget) { void didUpdateWidget(covariant MihPackage oldWidget) {
super.didUpdateWidget(oldWidget); super.didUpdateWidget(oldWidget);
if (oldWidget.selectedbodyIndex != widget.selectedbodyIndex) { if (oldWidget.selectedbodyIndex != widget.selectedbodyIndex) {
_pageController.animateToPage( _pageController.animateToPage(

View File

@@ -1,10 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class MihAppAction extends StatefulWidget { class MihPackageAction extends StatefulWidget {
final void Function()? onTap; final void Function()? onTap;
final double iconSize; final double iconSize;
final Widget icon; final Widget icon;
const MihAppAction({ const MihPackageAction({
super.key, super.key,
required this.icon, required this.icon,
required this.iconSize, required this.iconSize,
@@ -12,10 +12,10 @@ class MihAppAction extends StatefulWidget {
}); });
@override @override
State<MihAppAction> createState() => _MihAppActionState(); State<MihPackageAction> createState() => _MihPackageActionState();
} }
class _MihAppActionState extends State<MihAppAction> { class _MihPackageActionState extends State<MihPackageAction> {
@override @override
void dispose() { void dispose() {
super.dispose(); super.dispose();

View File

@@ -1,12 +1,12 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class MihAppAlert extends StatefulWidget { class MihPackageAlert extends StatefulWidget {
final Widget alertIcon; final Widget alertIcon;
final String alertTitle; final String alertTitle;
final Widget alertBody; final Widget alertBody;
final Color alertColour; final Color alertColour;
const MihAppAlert({ const MihPackageAlert({
super.key, super.key,
required this.alertIcon, required this.alertIcon,
required this.alertTitle, required this.alertTitle,
@@ -15,10 +15,10 @@ class MihAppAlert extends StatefulWidget {
}); });
@override @override
State<MihAppAlert> createState() => _MihAppAlertState(); State<MihPackageAlert> createState() => _MihPackageAlertState();
} }
class _MihAppAlertState extends State<MihAppAlert> { class _MihPackageAlertState extends State<MihPackageAlert> {
late double popUpWidth; late double popUpWidth;
late double? popUpheight; late double? popUpheight;
late double popUpTitleSize; late double popUpTitleSize;

View File

@@ -1,9 +1,9 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class MihAppTile extends StatefulWidget { class MihPackageTile extends StatefulWidget {
final String appName; final String appName;
final String? ytVideoID; final String? ytVideoID;
final Widget appIcon; final Widget appIcon;
@@ -11,7 +11,7 @@ class MihAppTile extends StatefulWidget {
final double iconSize; final double iconSize;
final Color primaryColor; final Color primaryColor;
final Color secondaryColor; final Color secondaryColor;
const MihAppTile({ const MihPackageTile({
super.key, super.key,
required this.onTap, required this.onTap,
required this.appName, required this.appName,
@@ -23,16 +23,16 @@ class MihAppTile extends StatefulWidget {
}); });
@override @override
State<MihAppTile> createState() => _MihAppTileState(); State<MihPackageTile> createState() => _MihPackageTileState();
} }
class _MihAppTileState extends State<MihAppTile> { class _MihPackageTileState extends State<MihPackageTile> {
void displayHint() { void displayHint() {
if (widget.ytVideoID != null) { if (widget.ytVideoID != null) {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return MihAppWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: widget.appName, windowTitle: widget.appName,
// windowTools: const [], // windowTools: const [],

View File

@@ -1,20 +1,20 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class MihAppToolBody extends StatefulWidget { class MihPackageToolBody extends StatefulWidget {
final bool borderOn; final bool borderOn;
final Widget bodyItem; final Widget bodyItem;
const MihAppToolBody({ const MihPackageToolBody({
super.key, super.key,
required this.borderOn, required this.borderOn,
required this.bodyItem, required this.bodyItem,
}); });
@override @override
State<MihAppToolBody> createState() => _MihAppToolBodyState(); State<MihPackageToolBody> createState() => _MihPackageToolBodyState();
} }
class _MihAppToolBodyState extends State<MihAppToolBody> { class _MihPackageToolBodyState extends State<MihPackageToolBody> {
late double _innerBodyPadding; late double _innerBodyPadding;
double getHorizontalPaddingSize(Size screenSize) { double getHorizontalPaddingSize(Size screenSize) {
if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") { if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") {

View File

@@ -1,20 +1,20 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class MihAppTools extends StatefulWidget { class MihPackageTools extends StatefulWidget {
final Map<Widget, void Function()?> tools; final Map<Widget, void Function()?> tools;
int selcetedIndex; int selcetedIndex;
MihAppTools({ MihPackageTools({
super.key, super.key,
required this.tools, required this.tools,
required this.selcetedIndex, required this.selcetedIndex,
}); });
@override @override
State<MihAppTools> createState() => _MihAppToolsState(); State<MihPackageTools> createState() => _MihPackageToolsState();
} }
class _MihAppToolsState extends State<MihAppTools> { class _MihPackageToolsState extends State<MihPackageTools> {
List<Widget> getTools() { List<Widget> getTools() {
List<Widget> temp = []; List<Widget> temp = [];
int index = 0; int index = 0;

View File

@@ -0,0 +1,210 @@
import 'package:flutter/material.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
class MihPackageWindow extends StatefulWidget {
final String windowTitle;
final Widget windowBody;
final List<SpeedDialChild>? menuOptions;
final void Function() onWindowTapClose;
final bool fullscreen;
const MihPackageWindow({
super.key,
required this.fullscreen,
required this.windowTitle,
this.menuOptions,
required this.onWindowTapClose,
required this.windowBody,
});
@override
State<MihPackageWindow> createState() => _MihPackageWindowState();
}
class _MihPackageWindowState extends State<MihPackageWindow> {
late double windowTitleSize;
late double horizontralWindowPadding;
late double vertticalWindowPadding;
late double windowWidth;
late double windowHeight;
late double width;
late double height;
void checkScreenSize() {
// print("screen width: $width");
// print("screen height: $height");
if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") {
setState(() {
windowTitleSize = 25;
horizontralWindowPadding = width / 7;
vertticalWindowPadding = 25;
windowWidth = width;
windowHeight = height;
});
} else {
setState(() {
windowTitleSize = 20;
horizontralWindowPadding = 10;
vertticalWindowPadding = 10;
windowWidth = width;
windowHeight = height;
});
}
}
Widget getHeader() {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
// color: Colors.white,
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(25), // Optional: rounds the corners
boxShadow: const [
BoxShadow(
color: Color.fromARGB(
60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2)
spreadRadius: -2,
blurRadius: 10,
offset: Offset(0, 5),
),
],
),
child: Padding(
padding: const EdgeInsets.only(
top: 2.0,
left: 5.0,
),
child: SizedBox(
width: 40,
child: IconButton.filled(
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all<Color>(
MzanziInnovationHub.of(context)!.theme.errorColor()),
),
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
iconSize: 20,
onPressed: () {
widget.onWindowTapClose();
},
icon: const Icon(
Icons.close,
),
),
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Text(
widget.windowTitle,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: windowTitleSize,
fontWeight: FontWeight.bold,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
),
),
),
),
Visibility(
visible: (widget.menuOptions?.isNotEmpty ?? false),
child: Padding(
padding: const EdgeInsets.only(
top: 2.0,
right: 5.0,
),
child: SizedBox(
width: 40,
child: MihFloatingMenu(
iconSize: 40,
animatedIcon: AnimatedIcons.menu_close,
direction: SpeedDialDirection.down,
children: widget.menuOptions != null ? widget.menuOptions! : [],
),
),
),
),
// If no menu, add a SizedBox to keep alignment
if (!(widget.menuOptions?.isNotEmpty ?? false))
const SizedBox(width: 40),
],
);
}
@override
void dispose() {
super.dispose();
}
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
var size = MediaQuery.of(context).size;
setState(() {
width = size.width;
height = size.height;
});
checkScreenSize();
return Dialog(
insetPadding: EdgeInsets.symmetric(
horizontal: horizontralWindowPadding,
vertical: vertticalWindowPadding,
),
insetAnimationCurve: Easing.emphasizedDecelerate,
insetAnimationDuration: Durations.short1,
child: Container(
decoration: BoxDecoration(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
borderRadius: BorderRadius.circular(25.0),
border: Border.all(
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 5.0),
),
child: widget.fullscreen
? Column(
mainAxisSize: MainAxisSize.max,
children: [
getHeader(),
const SizedBox(height: 5),
Expanded(
child: SingleChildScrollView(child: widget.windowBody)),
],
)
: Column(
mainAxisSize: MainAxisSize.min,
children: [
getHeader(),
const SizedBox(height: 5),
Flexible(
child: Padding(
padding: EdgeInsets.only(
left: 25,
right: 25,
bottom: vertticalWindowPadding,
),
child: ConstrainedBox(
constraints: BoxConstraints(
maxHeight: windowHeight * 0.85,
maxWidth: windowWidth * 0.85,
),
child: MihSingleChildScroll(child: widget.windowBody),
),
),
),
],
),
),
);
}
}

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.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_%20attributes.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_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_privacy_policy.dart';
@@ -31,7 +31,7 @@ class _AboutMihState extends State<AboutMih> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -45,8 +45,8 @@ class _AboutMihState extends State<AboutMih> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -56,7 +56,7 @@ class _AboutMihState extends State<AboutMih> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.info)] = () { temp[const Icon(Icons.info)] = () {
setState(() { setState(() {
@@ -78,7 +78,7 @@ class _AboutMihState extends State<AboutMih> {
_selcetedIndex = 3; _selcetedIndex = 3;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
@@ -17,7 +17,7 @@ class AboutMihTile extends StatefulWidget {
class _AboutMihTileState extends State<AboutMihTile> { class _AboutMihTileState extends State<AboutMihTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/about', '/about',

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
@@ -83,7 +83,7 @@ class _MihAttributesState extends State<MihAttributes> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -3,7 +3,7 @@ import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -87,7 +87,7 @@ class _MihInfoState extends State<MihInfo> {
// context: context, // context: context,
// barrierDismissible: false, // barrierDismissible: false,
// builder: (context) { // builder: (context) {
// return MihAppWindow( // return MihPackageWindow(
// fullscreen: false, // fullscreen: false,
// windowTitle: "MIH Installation Guide (iOS)", // windowTitle: "MIH Installation Guide (iOS)",
// windowTools: const [], // windowTools: const [],
@@ -634,7 +634,7 @@ class _MihInfoState extends State<MihInfo> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -8,7 +8,7 @@ class MihPrivacyPolicy extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(context), bodyItem: getBody(context),
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/mih_policy_tos_ext/policy_and_terms_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -8,7 +8,7 @@ class MIHTermsOfService extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(context), bodyItem: getBody(context),
); );

View File

@@ -1,18 +1,17 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart';
import 'package:mzansi_innovation_hub/mih_objects/access_request.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:supertokens_flutter/http.dart' as http; 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_layout/mih_window.dart';
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
import '../../../mih_components/mih_pop_up_messages/mih_warning_message.dart';
import '../../../mih_env/env.dart';
import '../../../mih_objects/access_request.dart';
import '../../../mih_objects/app_user.dart';
class BuildAccessRequestList extends StatefulWidget { class BuildAccessRequestList extends StatefulWidget {
final List<AccessRequest> accessRequests; final List<AccessRequest> accessRequests;
final AppUser signedInUser; final AppUser signedInUser;
@@ -220,10 +219,11 @@ class _BuildPatientsListState extends State<BuildAccessRequestList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Update Appointment Access", windowTitle: "Update Appointment Access",
windowBody: [ windowBody: Column(
children: [
const SizedBox( const SizedBox(
height: 10, height: 10,
), ),
@@ -278,7 +278,7 @@ class _BuildPatientsListState extends State<BuildAccessRequestList> {
height: 10, height: 10,
), ),
], ],
windowTools: const [], ),
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}), }),

View File

@@ -1,15 +1,14 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart';
import '../../../main.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_api_calls.dart';
import '../../../mih_apis/mih_api_calls.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import '../../../mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import '../../../mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart';
import '../../../mih_components/mih_pop_up_messages/mih_warning_message.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
import '../../../mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import '../../../mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/patient_access.dart';
import '../../../mih_objects/patient_access.dart';
class BuildBusinessAccessList extends StatefulWidget { class BuildBusinessAccessList extends StatefulWidget {
final List<PatientAccess> patientAccessList; final List<PatientAccess> patientAccessList;
@@ -216,10 +215,11 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Profile Access", windowTitle: "Profile Access",
windowBody: [ windowBody: Column(
children: [
const SizedBox( const SizedBox(
height: 10, height: 10,
), ),
@@ -265,8 +265,9 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
"1. Permanent Access: Once you accepts this access request, it will become permanent.", "1. Permanent Access: Once you accepts this access request, it will become permanent.",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.errorColor(), .theme
.errorColor(),
), ),
), ),
), ),
@@ -276,8 +277,9 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
"2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.", "2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.errorColor(), .theme
.errorColor(),
), ),
), ),
), ),
@@ -287,8 +289,9 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
"3. Irreversible Access: Once granted, you cannot revoke access to your patient's profile.", "3. Irreversible Access: Once granted, you cannot revoke access to your patient's profile.",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.errorColor(), .theme
.errorColor(),
), ),
), ),
), ),
@@ -331,8 +334,9 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
"1. Permanent Access: This access is permanent.", "1. Permanent Access: This access is permanent.",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.errorColor(), .theme
.errorColor(),
), ),
), ),
), ),
@@ -342,8 +346,9 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
"2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.", "2. Shared Information: Any updates make to youe patient profile will be visible to all who have access to the profile.",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.errorColor(), .theme
.errorColor(),
), ),
), ),
), ),
@@ -353,8 +358,9 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
"3. Irreversible Access: You cannot revoke this access to your patient's profile.", "3. Irreversible Access: You cannot revoke this access to your patient's profile.",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.errorColor(), .theme
.errorColor(),
), ),
), ),
), ),
@@ -391,8 +397,9 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
buttonText: "Decline", buttonText: "Decline",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.errorColor(), MzanziInnovationHub.of(context)!.theme.errorColor(),
textColor: textColor: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.primaryColor(), .theme
.primaryColor(),
), ),
), ),
SizedBox( SizedBox(
@@ -413,10 +420,12 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
//updateAccessAPICall(index, "approved"); //updateAccessAPICall(index, "approved");
}, },
buttonText: "Approve", buttonText: "Approve",
buttonColor: buttonColor: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.successColor(), .theme
textColor: .successColor(),
MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
), ),
), ),
], ],
@@ -426,7 +435,7 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
height: 10, height: 10,
), ),
], ],
windowTools: const [], ),
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}), }),

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_packages/access_review/package_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'; import 'package:flutter/material.dart';
@@ -20,7 +20,7 @@ class _MihAccessState extends State<MihAccess> {
int _selcetedIndex = 0; int _selcetedIndex = 0;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -34,8 +34,8 @@ class _MihAccessState extends State<MihAccess> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -45,14 +45,14 @@ class _MihAccessState extends State<MihAccess> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.people)] = () { temp[const Icon(Icons.people)] = () {
setState(() { setState(() {
_selcetedIndex = 0; _selcetedIndex = 0;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,7 +21,7 @@ class MihAccessTile extends StatefulWidget {
class _MihAccessTileState extends State<MihAccessTile> { class _MihAccessTileState extends State<MihAccessTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/mih-access', '/mih-access',

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../../main.dart'; import '../../../main.dart';
@@ -244,7 +244,7 @@ class _MihAccessRequestState extends State<MihAccessRequest> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -4,7 +4,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_action.dart'
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_header.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_header.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_layout_builder.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_layout_builder.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_profile_getter.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_profile_getter.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -106,7 +106,7 @@ class _BiometricCheckState extends State<BiometricCheck> {
} }
void authErrorPopUp() { void authErrorPopUp() {
Widget alertpopUp = MihAppAlert( Widget alertpopUp = MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.fingerprint, Icons.fingerprint,
color: MzanziInnovationHub.of(context)!.theme.errorColor(), color: MzanziInnovationHub.of(context)!.theme.errorColor(),

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_packages/calculator/package_tools/simple_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:mzansi_innovation_hub/mih_packages/calculator/package_tools/tip_calc.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,7 +21,7 @@ class _MIHCalculatorState extends State<MIHCalculator> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -35,8 +35,8 @@ class _MIHCalculatorState extends State<MIHCalculator> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -46,7 +46,7 @@ class _MIHCalculatorState extends State<MIHCalculator> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.calculate)] = () { temp[const Icon(Icons.calculate)] = () {
setState(() { setState(() {
@@ -58,7 +58,7 @@ class _MIHCalculatorState extends State<MIHCalculator> {
_selectedIndex = 1; _selectedIndex = 1;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selectedIndex, selcetedIndex: _selectedIndex,
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
@@ -20,7 +20,7 @@ class MihCalculatorTile extends StatefulWidget {
class _MihCalculatorTileState extends State<MihCalculatorTile> { class _MihCalculatorTileState extends State<MihCalculatorTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/calculator', '/calculator',

View File

@@ -1,7 +1,7 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:math_expressions/math_expressions.dart'; import 'package:math_expressions/math_expressions.dart';
@@ -71,7 +71,7 @@ class _SimpleCalcState extends State<SimpleCalc> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -3,8 +3,8 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_number_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_number_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -116,27 +116,22 @@ class _TipCalcState extends State<TipCalc> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Calculation Results", windowTitle: "Calculation Results",
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowTools: const [], windowBody: Column(
windowBody: [ children: [
// FaIcon(
// FontAwesomeIcons.moneyBills,
// color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// size: 30,
// ),
// const Divider(),
Row( Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
FaIcon( FaIcon(
FontAwesomeIcons.coins, FontAwesomeIcons.coins,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), color:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
size: 35, size: 35,
), ),
const SizedBox(width: 15), const SizedBox(width: 15),
@@ -168,7 +163,8 @@ class _TipCalcState extends State<TipCalc> {
children: [ children: [
FaIcon( FaIcon(
FontAwesomeIcons.moneyBills, FontAwesomeIcons.moneyBills,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), color:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
size: 35, size: 35,
), ),
const SizedBox(width: 15), const SizedBox(width: 15),
@@ -221,8 +217,9 @@ class _TipCalcState extends State<TipCalc> {
style: TextStyle( style: TextStyle(
fontSize: 25, fontSize: 25,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.secondaryColor(), .theme
.secondaryColor(),
), ),
), ),
], ],
@@ -234,7 +231,8 @@ class _TipCalcState extends State<TipCalc> {
style: TextStyle( style: TextStyle(
fontSize: 30, fontSize: 30,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), color:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
), ),
), ),
if (splitBillController.text == "Yes") if (splitBillController.text == "Yes")
@@ -244,12 +242,14 @@ class _TipCalcState extends State<TipCalc> {
style: TextStyle( style: TextStyle(
fontSize: 30, fontSize: 30,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), color:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
), ),
), ),
// if (splitBillController.text == "Yes") const Divider(), // if (splitBillController.text == "Yes") const Divider(),
], ],
), ),
),
); );
} }
@@ -262,7 +262,7 @@ class _TipCalcState extends State<TipCalc> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,12 +1,12 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import '../../../main.dart'; import '../../../main.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_button.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_error_message.dart';
import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart'; import '../../../mih_components/mih_pop_up_messages/mih_success_message.dart';
import '../../../mih_components/mih_pop_up_messages/mih_warning_message.dart'; import '../../../mih_components/mih_pop_up_messages/mih_warning_message.dart';
@@ -221,10 +221,11 @@ class _BuildPatientsListState extends State<BuildAccessRequestList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Update Appointment Access", windowTitle: "Update Appointment Access",
windowBody: [ windowBody: Column(
children: [
const SizedBox( const SizedBox(
height: 10, height: 10,
), ),
@@ -279,122 +280,11 @@ class _BuildPatientsListState extends State<BuildAccessRequestList> {
height: 10, height: 10,
), ),
], ],
windowTools: const [], ),
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}), }),
); );
// showDialog(
// context: context,
// barrierDismissible: false,
// builder: (context) => Dialog(
// child: Stack(
// children: [
// Container(
// //padding: const EdgeInsets.all(15.0),
// width: popUpWidth,
// height: popUpheight,
// decoration: BoxDecoration(
// color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
// borderRadius: BorderRadius.circular(25.0),
// border: Border.all(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// width: 5.0),
// ),
// child: SingleChildScrollView(
// padding: EdgeInsets.all(popUpPaddingSize),
// child: Column(
// mainAxisSize: MainAxisSize.min,
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
// children: [
// Text(
// "Update Appointment Access",
// textAlign: TextAlign.center,
// style: TextStyle(
// color: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// fontSize: popUpTitleSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// const SizedBox(height: 15.0),
// Text(
// subtitle,
// textAlign: TextAlign.left,
// style: TextStyle(
// color: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// fontSize: popUpBodySize,
// //fontWeight: FontWeight.bold,
// ),
// ),
// const SizedBox(height: 10.0),
// Wrap(
// runSpacing: 10,
// spacing: 10,
// children: [
// SizedBox(
// width: popUpButtonWidth,
// height: 50,
// child: MIHButton(
// onTap: () {
// updateAccessAPICall(index, "declined");
// },
// buttonText: "Decline",
// buttonColor: MzanziInnovationHub.of(context)!
// .theme
// .errorColor(),
// textColor: MzanziInnovationHub.of(context)!
// .theme
// .primaryColor(),
// ),
// ),
// SizedBox(
// width: popUpButtonWidth,
// height: 50,
// child: MIHButton(
// onTap: () {
// updateAccessAPICall(index, "approved");
// },
// buttonText: "Approve",
// buttonColor: MzanziInnovationHub.of(context)!
// .theme
// .successColor(),
// textColor: MzanziInnovationHub.of(context)!
// .theme
// .primaryColor(),
// ),
// ),
// ],
// )
// ],
// ),
// ),
// ),
// Positioned(
// top: 5,
// right: 5,
// width: 50,
// height: 50,
// child: IconButton(
// onPressed: () {
// Navigator.pop(context);
// },
// icon: Icon(
// Icons.close,
// color: MzanziInnovationHub.of(context)!.theme.errorColor(),
// size: 35,
// ),
// ),
// ),
// ],
// ),
// ),
// );
} }
@override @override

View File

@@ -1,3 +1,4 @@
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_calendar_apis.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_calendar_apis.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
@@ -5,7 +6,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -151,18 +152,45 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Appointment Details", windowTitle: "Appointment Details",
windowTools: [ menuOptions: [
Visibility( SpeedDialChild(
visible: canEditAppointment(index), child: Icon(
child: IconButton( Icons.edit,
onPressed: () { color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Edit Appointment",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
appointmentUpdateWindow(index);
},
),
SpeedDialChild(
child: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Delete Appointment",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
deleteAppointmentConfirmationWindow(index); deleteAppointmentConfirmationWindow(index);
}, },
icon: const Icon(Icons.delete),
),
), ),
], ],
onWindowTapClose: () { onWindowTapClose: () {
@@ -172,7 +200,9 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
widget.titleController.clear(); widget.titleController.clear();
widget.descriptionIDController.clear(); widget.descriptionIDController.clear();
}, },
windowBody: [ windowBody: Column(
children: [
const SizedBox(height: 10),
SizedBox( SizedBox(
// width: 500, // width: 500,
child: MIHTextField( child: MIHTextField(
@@ -211,40 +241,9 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
required: false, required: false,
), ),
), ),
const SizedBox(height: 20), const SizedBox(height: 10),
Visibility(
visible: canEditAppointment(index),
child: SizedBox(
width: 500,
height: 50,
child: MIHButton(
onTap: () {
appointmentUpdateWindow(index);
},
buttonText: "Edit",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
),
),
// SizedBox(
// width: 500,
// height: 50,
// child: MIHButton(
// onTap: () {
// addAppointmentCall();
// checkforchange();
// },
// buttonText: "Add",
// buttonColor:
// MzanziInnovationHub.of(context)!.theme.successColor(),
// textColor:
// MzanziInnovationHub.of(context)!.theme.primaryColor(),
// ),
// ),
], ],
),
); );
}, },
); );
@@ -255,18 +254,45 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Appointment Details", windowTitle: "Appointment Details",
windowTools: [ menuOptions: [
Visibility( SpeedDialChild(
visible: canEditAppointment(index), child: Icon(
child: IconButton( Icons.edit,
onPressed: () { color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Edit Appointment",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
appointmentUpdateWindow(index);
},
),
SpeedDialChild(
child: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Delete Appointment",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
deleteAppointmentConfirmationWindow(index); deleteAppointmentConfirmationWindow(index);
}, },
icon: const Icon(Icons.delete),
),
), ),
], ],
onWindowTapClose: () { onWindowTapClose: () {
@@ -276,7 +302,8 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
widget.titleController.clear(); widget.titleController.clear();
widget.descriptionIDController.clear(); widget.descriptionIDController.clear();
}, },
windowBody: [ windowBody: Column(
children: [
SizedBox( SizedBox(
// width: 500, // width: 500,
child: MIHTextField( child: MIHTextField(
@@ -326,39 +353,8 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
), ),
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
Visibility(
visible: canEditAppointment(index),
child: SizedBox(
width: 500,
height: 50,
child: MIHButton(
onTap: () {
appointmentUpdateWindow(index);
},
buttonText: "Edit",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
),
),
// SizedBox(
// width: 500,
// height: 50,
// child: MIHButton(
// onTap: () {
// addAppointmentCall();
// checkforchange();
// },
// buttonText: "Add",
// buttonColor:
// MzanziInnovationHub.of(context)!.theme.successColor(),
// textColor:
// MzanziInnovationHub.of(context)!.theme.primaryColor(),
// ),
// ),
], ],
),
); );
}, },
); );
@@ -369,10 +365,9 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Update Appointment", windowTitle: "Update Appointment",
windowTools: [],
onWindowTapClose: () { onWindowTapClose: () {
setState(() { setState(() {
widget.titleController.text = widget.appointmentList[index].title; widget.titleController.text = widget.appointmentList[index].title;
@@ -387,7 +382,8 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
}); });
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
windowBody: [ windowBody: Column(
children: [
SizedBox( SizedBox(
// width: 500, // width: 500,
child: MIHTextField( child: MIHTextField(
@@ -446,36 +442,10 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
), ),
), ),
// SizedBox(
// width: 500,
// height: 50,
// child: MIHButton(
// onTap: () {
// setState(() {
// widget.titleController.text =
// widget.appointmentList[index].title;
// widget.descriptionIDController.text =
// widget.appointmentList[index].description;
// widget.dateController.text = widget
// .appointmentList[index].date_time
// .split('T')[0];
// widget.timeController.text = widget
// .appointmentList[index].date_time
// .split('T')[1]
// .substring(0, 5);
// });
// Navigator.of(context).pop();
// },
// buttonText: "Cancel",
// buttonColor:
// MzanziInnovationHub.of(context)!.theme.errorColor(),
// textColor:
// MzanziInnovationHub.of(context)!.theme.primaryColor(),
// ),
// ),
], ],
) )
], ],
),
); );
}, },
); );

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:mzansi_innovation_hub/mih_packages/calendar/package_tools/appointments.dart'; import 'package:mzansi_innovation_hub/mih_packages/calendar/package_tools/appointments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,7 +21,7 @@ class _MzansiCalendarState extends State<MzansiCalendar> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -35,8 +35,8 @@ class _MzansiCalendarState extends State<MzansiCalendar> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -46,7 +46,7 @@ class _MzansiCalendarState extends State<MzansiCalendar> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.calendar_month)] = () { temp[const Icon(Icons.calendar_month)] = () {
setState(() { setState(() {
@@ -54,7 +54,7 @@ class _MzansiCalendarState extends State<MzansiCalendar> {
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,7 +21,7 @@ class MzansiCalendarTile extends StatefulWidget {
class _MzansiCalendarTileState extends State<MzansiCalendarTile> { class _MzansiCalendarTileState extends State<MzansiCalendarTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/calendar', '/calendar',

View File

@@ -6,9 +6,9 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; 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/appointment.dart';
import 'package:mzansi_innovation_hub/mih_objects/business.dart'; import 'package:mzansi_innovation_hub/mih_objects/business.dart';
@@ -101,10 +101,9 @@ class _PatientAccessRequestState extends State<Appointments> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Add Appointment", windowTitle: "Add Appointment",
windowTools: [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
_appointmentDateController.clear(); _appointmentDateController.clear();
@@ -112,7 +111,8 @@ class _PatientAccessRequestState extends State<Appointments> {
_appointmentTitleController.clear(); _appointmentTitleController.clear();
_appointmentDescriptionIDController.clear(); _appointmentDescriptionIDController.clear();
}, },
windowBody: [ windowBody: Column(
children: [
SizedBox( SizedBox(
// width: 500, // width: 500,
child: MIHTextField( child: MIHTextField(
@@ -167,6 +167,7 @@ class _PatientAccessRequestState extends State<Appointments> {
), ),
), ),
], ],
),
); );
}, },
); );
@@ -365,7 +366,7 @@ class _PatientAccessRequestState extends State<Appointments> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,7 +1,7 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_objects/business.dart'; import 'package:mzansi_innovation_hub/mih_objects/business.dart';
@@ -74,7 +74,7 @@ class _MihHomeState extends State<MihHome> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -98,7 +98,7 @@ class _MihHomeState extends State<MihHome> {
Widget getAction() { Widget getAction() {
return Builder(builder: (context) { return Builder(builder: (context) {
return MihAppAction( return MihPackageAction(
icon: Padding( icon: Padding(
padding: const EdgeInsets.only(left: 5.0), padding: const EdgeInsets.only(left: 5.0),
child: MihCircleAvatar( child: MihCircleAvatar(
@@ -140,7 +140,7 @@ class _MihHomeState extends State<MihHome> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.person)] = () { temp[const Icon(Icons.person)] = () {
setState(() { setState(() {
@@ -156,7 +156,7 @@ class _MihHomeState extends State<MihHome> {
}); });
}; };
} }
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -2,6 +2,8 @@ import 'dart:async';
import 'dart:convert'; import 'dart:convert';
// import 'dart:convert'; // import 'dart:convert';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_objects/patients.dart'; import 'package:mzansi_innovation_hub/mih_objects/patients.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
@@ -21,7 +23,6 @@ import '../../mih_components/mih_layout/mih_header.dart';
import '../../mih_components/mih_layout/mih_layout_builder.dart'; import '../../mih_components/mih_layout/mih_layout_builder.dart';
import '../../mih_components/mih_layout/mih_notification_drawer.dart'; import '../../mih_components/mih_layout/mih_notification_drawer.dart';
import '../../mih_components/mih_layout/mih_tile.dart'; import '../../mih_components/mih_layout/mih_tile.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_delete_message.dart';
import '../../mih_components/mih_pop_up_messages/mih_error_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_loading_circle.dart';
@@ -844,39 +845,35 @@ class _MIHHomeLegacyState extends State<MIHHomeLegacy> {
// return const MIHErrorMessage(errorType: "User Exists"); // return const MIHErrorMessage(errorType: "User Exists");
// return const MIHErrorMessage(errorType: "Password Match"); // return const MIHErrorMessage(errorType: "Password Match");
// return const MIHErrorMessage(errorType: "Invalid Credentials"); // return const MIHErrorMessage(errorType: "Invalid Credentials");
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: windowTitle:
"Test Window title that is too large for mobile devices", "Test Window title that is too large for mobile devices",
windowBody: const [ windowBody: const Column(
children: [
SizedBox( SizedBox(
height: 250, height: 250,
) )
], ],
windowTools: [ ),
IconButton( menuOptions: [
onPressed: () { SpeedDialChild(
//deleteFilePopUp(filePath, fileID); child: Icon(
},
icon: Icon(
Icons.delete, Icons.delete,
size: 35, color:
color: MzanziInnovationHub.of(context)! MzanziInnovationHub.of(context)!.theme.primaryColor(),
.theme
.secondaryColor(),
), ),
label: "Delete File",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
), ),
IconButton( backgroundColor:
onPressed: () { MzanziInnovationHub.of(context)!.theme.successColor(),
//deleteFilePopUp(filePath, fileID); onTap: () {},
},
icon: Icon(
Icons.wallet,
size: 35,
color: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
),
), ),
], ],
onWindowTapClose: () { onWindowTapClose: () {

View File

@@ -1,9 +1,9 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_home.dart'; import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_home.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -67,7 +67,7 @@ class _MIHProfileGetterState extends State<MIHProfileGetter> {
} }
} }
MihAppTools getErrorTools() { MihPackageTools getErrorTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.power_off_outlined)] = () { temp[const Icon(Icons.power_off_outlined)] = () {
setState(() { setState(() {
@@ -75,7 +75,7 @@ class _MIHProfileGetterState extends State<MIHProfileGetter> {
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );
@@ -83,7 +83,7 @@ class _MIHProfileGetterState extends State<MIHProfileGetter> {
List<Widget> getErrorToolBody(String error) { List<Widget> getErrorToolBody(String error) {
List<Widget> toolBodies = [ List<Widget> toolBodies = [
MihAppToolBody( MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: Column( bodyItem: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
@@ -152,8 +152,8 @@ class _MIHProfileGetterState extends State<MIHProfileGetter> {
} }
Widget errorPage(String error) { Widget errorPage(String error) {
return MihApp( return MihPackage(
appActionButton: MihAppAction( appActionButton: MihPackageAction(
icon: const Icon(Icons.refresh), icon: const Icon(Icons.refresh),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {

View File

@@ -1,7 +1,7 @@
import 'package:mzansi_innovation_hub/main.dart'; 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_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_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.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/arguments.dart';
import 'package:mzansi_innovation_hub/mih_objects/business.dart'; import 'package:mzansi_innovation_hub/mih_objects/business.dart';
@@ -189,7 +189,7 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
final Size size = MediaQuery.sizeOf(context); final Size size = MediaQuery.sizeOf(context);
final double width = size.width; final double width = size.width;
final double height = size.height; final double height = size.height;
return MihAppToolBody( return MihPackageToolBody(
borderOn: false, borderOn: false,
bodyItem: getBody(width, height), bodyItem: getBody(width, height),
); );

View File

@@ -1,8 +1,8 @@
import 'package:mzansi_innovation_hub/main.dart'; 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_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_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.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/arguments.dart';
import 'package:mzansi_innovation_hub/mih_objects/business.dart'; import 'package:mzansi_innovation_hub/mih_objects/business.dart';
@@ -149,7 +149,7 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
//=============== Dev =============== //=============== Dev ===============
if (widget.isDevActive) { if (widget.isDevActive) {
temp.add({ temp.add({
"test": MihAppTile( "test": MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/package-dev', '/package-dev',
@@ -234,7 +234,7 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
final double width = size.width; final double width = size.width;
final double height = size.height; final double height = size.height;
return MihAppToolBody( return MihPackageToolBody(
borderOn: false, borderOn: false,
bodyItem: getBody(width, height), bodyItem: getBody(width, height),
); );

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_ai/package_tools/ai_chat.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_ai/package_tools/ai_chat.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -19,8 +19,8 @@ class MzansiAi extends StatefulWidget {
class _MzansiAiState extends State<MzansiAi> { class _MzansiAiState extends State<MzansiAi> {
int _selcetedIndex = 0; int _selcetedIndex = 0;
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -30,7 +30,7 @@ class _MzansiAiState extends State<MzansiAi> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.chat)] = () { temp[const Icon(Icons.chat)] = () {
setState(() { setState(() {
@@ -38,7 +38,7 @@ class _MzansiAiState extends State<MzansiAi> {
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );
@@ -58,7 +58,7 @@ class _MzansiAiState extends State<MzansiAi> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,7 +21,7 @@ class MzansiAiTile extends StatefulWidget {
class _MzansiAiTileState extends State<MzansiAiTile> { class _MzansiAiTileState extends State<MzansiAiTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/mzansi-ai', '/mzansi-ai',

View File

@@ -5,8 +5,8 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -169,67 +169,35 @@ class _AiChatState extends State<AiChat> {
textStream = snapshot.requireData; textStream = snapshot.requireData;
// print("Text: $textStream"); // print("Text: $textStream");
// _speakText(textStream!); // _speakText(textStream!);
return MihAppWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: 'Mzansi AI Thoughts', windowTitle: 'Mzansi AI Thoughts',
windowTools: Row( menuOptions: _aiThinking == true
children: [ ? null
Visibility( : [
visible: _aiThinking == false, SpeedDialChild(
child: Padding( child: Icon(
padding: const EdgeInsets.all(5.0), Icons.volume_up,
child: Container(
//color: MzanziInnovationHub.of(context)!.theme.successColor(),
decoration: BoxDecoration(
color: MzanziInnovationHub.of(context)!
.theme
.successColor(),
borderRadius: const BorderRadius.all(
Radius.circular(100),
),
),
child: IconButton(
color: MzanziInnovationHub.of(context)! color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
onPressed: () async { ),
print("Start TTS now"); label: "Read Aloud",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
_speakText(snapshot.requireData); _speakText(snapshot.requireData);
}, },
icon: const Icon(Icons.volume_up), )
),
),
),
),
Visibility(
visible: _aiThinking == true,
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Container(
// color: MzanziInnovationHub.of(context)!.theme.errorColor(),
decoration: BoxDecoration(
color:
MzanziInnovationHub.of(context)!.theme.errorColor(),
borderRadius: const BorderRadius.all(
Radius.circular(100),
),
),
child: IconButton(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onPressed: () {
//print("Start TTS now");
_flutterTts.stop();
},
icon: const Icon(Icons.volume_off),
),
),
),
),
], ],
),
onWindowTapClose: () { onWindowTapClose: () {
_captureAIResponse(snapshot.requireData); _captureAIResponse(snapshot.requireData);
_flutterTts.stop(); _flutterTts.stop();
@@ -240,8 +208,6 @@ class _AiChatState extends State<AiChat> {
// color: Colors.black, // color: Colors.black,
child: Column( child: Column(
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: [
Stack(
children: [ children: [
Text( Text(
snapshot.requireData, snapshot.requireData,
@@ -254,53 +220,12 @@ class _AiChatState extends State<AiChat> {
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
Positioned(
bottom: 0,
right: 0,
child: Visibility(
visible: _aiThinking == false,
child: IconButton.filled(
iconSize: 25,
autofocus: true,
onPressed: () {
_captureAIResponse(snapshot.requireData);
_flutterTts.stop();
Navigator.of(context).pop();
},
focusColor: MzanziInnovationHub.of(context)!
.theme
.successColor(),
icon: Icon(
Icons.check,
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
),
),
// MIHButton(
// onTap: () {
// _captureAIResponse(snapshot.requireData);
// Navigator.of(context).pop();
// },
// buttonText: "Continue",
// buttonColor: MzanziInnovationHub.of(context)!
// .theme
// .successColor(),
// textColor: MzanziInnovationHub.of(context)!
// .theme
// .primaryColor(),
// ),
),
),
],
),
], ],
), ),
), ),
); );
} else { } else {
return MihAppWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: 'Mzansi AI Thoughts', windowTitle: 'Mzansi AI Thoughts',
// windowTools: [], // windowTools: [],
@@ -672,7 +597,7 @@ class _AiChatState extends State<AiChat> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: false, borderOn: false,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,10 +1,11 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
@@ -149,25 +150,35 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Employee Details", windowTitle: "Employee Details",
windowTools: [ menuOptions: [
IconButton( SpeedDialChild(
onPressed: () { child: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Delete Employee",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
showDeleteWarning(index); showDeleteWarning(index);
}, },
icon: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
size: 35,
),
), ),
], ],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
const SizedBox(height: 10.0),
MIHTextField( MIHTextField(
controller: fnameController, controller: fnameController,
hintText: "First Name", hintText: "First Name",
@@ -207,7 +218,8 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
buttonText: "Update", buttonText: "Update",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () { onTap: () {
if (isRequiredFieldsCaptured()) { if (isRequiredFieldsCaptured()) {
updateEmployeeAPICall(index); updateEmployeeAPICall(index);
@@ -224,6 +236,7 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
) )
], ],
), ),
),
); );
} }

View File

@@ -4,7 +4,7 @@ import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
@@ -124,10 +124,11 @@ class _BuildUserListState extends State<BuildUserList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Add Employee", windowTitle: "Add Employee",
windowBody: [ windowBody: Column(
children: [
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MIHTextField(
controller: fnameController, controller: fnameController,
@@ -187,7 +188,7 @@ class _BuildUserListState extends State<BuildUserList> {
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
], ],
windowTools: [], ),
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
})); }));

View File

@@ -1,7 +1,7 @@
import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_details.dart';
@@ -46,7 +46,7 @@ class _MzansiBusinessProfileState extends State<MzansiBusinessProfile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -59,8 +59,8 @@ class _MzansiBusinessProfileState extends State<MzansiBusinessProfile> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -70,7 +70,7 @@ class _MzansiBusinessProfileState extends State<MzansiBusinessProfile> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.business)] = () { temp[const Icon(Icons.business)] = () {
setState(() { setState(() {
@@ -97,7 +97,7 @@ class _MzansiBusinessProfileState extends State<MzansiBusinessProfile> {
_selcetedIndex = 3; _selcetedIndex = 3;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,7 +21,7 @@ class MzansiBusinessProfileTile extends StatefulWidget {
class _MzansiBusinessProfileTileState extends State<MzansiBusinessProfileTile> { class _MzansiBusinessProfileTileState extends State<MzansiBusinessProfileTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/business-profile/manage', '/business-profile/manage',

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -22,7 +22,7 @@ class _MzansiSetupBusinessProfileTileState
extends State<MzansiSetupBusinessProfileTile> { extends State<MzansiSetupBusinessProfileTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/business-profile/set-up', '/business-profile/set-up',

View File

@@ -7,8 +7,8 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_location_api.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
@@ -91,7 +91,7 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return MihAppAlert( return MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.warning_rounded, Icons.warning_rounded,
color: MzanziInnovationHub.of(context)!.theme.errorColor(), color: MzanziInnovationHub.of(context)!.theme.errorColor(),
@@ -233,7 +233,7 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(context), bodyItem: getBody(context),
); );

View File

@@ -8,7 +8,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
@@ -322,7 +322,7 @@ class _MihBusinessProfileState extends State<MihBusinessProfile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -3,7 +3,7 @@ import 'dart:convert';
import 'package:mzansi_innovation_hub/main.dart'; 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_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_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -91,7 +91,7 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -2,7 +2,7 @@ import 'dart:convert';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
@@ -74,7 +74,7 @@ class _MihMyBusinessTeamState extends State<MihMyBusinessTeam> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -7,8 +7,8 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_image_display.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_image_display.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
@@ -126,7 +126,7 @@ class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return MihAppAlert( return MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.warning_rounded, Icons.warning_rounded,
color: MzanziInnovationHub.of(context)!.theme.errorColor(), color: MzanziInnovationHub.of(context)!.theme.errorColor(),
@@ -205,7 +205,7 @@ class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,13 +1,14 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import '../../../../main.dart'; import '../../../../main.dart';
import '../../../../mih_components/mih_inputs_and_buttons/mih_button.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_dropdown_input.dart';
import '../../../../mih_components/mih_inputs_and_buttons/mih_text_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_delete_message.dart';
import '../../../../mih_components/mih_pop_up_messages/mih_error_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_loading_circle.dart';
@@ -150,25 +151,35 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Employee Details", windowTitle: "Employee Details",
windowTools: [ menuOptions: [
IconButton( SpeedDialChild(
onPressed: () { child: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Delete Employee",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
showDeleteWarning(index); showDeleteWarning(index);
}, },
icon: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
size: 35,
),
), ),
], ],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
const SizedBox(height: 10.0),
MIHTextField( MIHTextField(
controller: fnameController, controller: fnameController,
hintText: "First Name", hintText: "First Name",
@@ -208,7 +219,8 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
buttonText: "Update", buttonText: "Update",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () { onTap: () {
if (isRequiredFieldsCaptured()) { if (isRequiredFieldsCaptured()) {
updateEmployeeAPICall(index); updateEmployeeAPICall(index);
@@ -225,6 +237,7 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
) )
], ],
), ),
),
); );
// showDialog( // showDialog(
// context: context, // context: context,

View File

@@ -1,13 +1,13 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import '../../../../main.dart'; import '../../../../main.dart';
import '../../../../mih_components/mih_inputs_and_buttons/mih_button.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_dropdown_input.dart';
import '../../../../mih_components/mih_inputs_and_buttons/mih_text_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_error_message.dart';
import '../../../../mih_components/mih_pop_up_messages/mih_loading_circle.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_components/mih_pop_up_messages/mih_success_message.dart';
@@ -125,10 +125,11 @@ class _BuildUserListState extends State<BuildUserList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Add Employee", windowTitle: "Add Employee",
windowBody: [ windowBody: Column(
children: [
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MIHTextField(
controller: fnameController, controller: fnameController,
@@ -188,125 +189,10 @@ class _BuildUserListState extends State<BuildUserList> {
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
], ],
windowTools: [], ),
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
})); }));
// showDialog(
// context: context,
// barrierDismissible: false,
// builder: (context) => Dialog(
// child: Stack(
// children: [
// Container(
// padding: const EdgeInsets.all(10.0),
// width: 700.0,
// //height: 475.0,
// decoration: BoxDecoration(
// color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
// borderRadius: BorderRadius.circular(25.0),
// border: Border.all(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// width: 5.0),
// ),
// child: SingleChildScrollView(
// padding: const EdgeInsets.symmetric(horizontal: 10),
// child: Column(
// mainAxisSize: MainAxisSize.min,
// children: [
// Text(
// "Add Employee",
// textAlign: TextAlign.center,
// style: TextStyle(
// color: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// fontSize: 35.0,
// fontWeight: FontWeight.bold,
// ),
// ),
// const SizedBox(height: 25.0),
// MIHTextField(
// controller: fnameController,
// hintText: "Username Name",
// editable: false,
// required: true,
// ),
// const SizedBox(height: 10.0),
// MIHTextField(
// controller: lnameController,
// hintText: "Email",
// editable: false,
// required: true,
// ),
// const SizedBox(height: 10.0),
// MIHDropdownField(
// controller: typeController,
// hintText: "Title",
// dropdownOptions: const ["Doctor", "Assistant"],
// required: true,
// editable: true,
// ),
// const SizedBox(height: 10.0),
// MIHDropdownField(
// controller: accessController,
// hintText: "Access",
// dropdownOptions: const ["Full", "Partial"],
// required: true,
// editable: true,
// ),
// const SizedBox(height: 30.0),
// SizedBox(
// width: 300,
// height: 50,
// child: MIHButton(
// buttonText: "Add",
// buttonColor: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// textColor: MzanziInnovationHub.of(context)!
// .theme
// .primaryColor(),
// onTap: () {
// if (isRequiredFieldsCaptured()) {
// createBusinessUserAPICall(index);
// } else {
// showDialog(
// context: context,
// builder: (context) {
// return const MIHErrorMessage(
// errorType: "Input Error");
// },
// );
// }
// },
// ),
// )
// ],
// ),
// ),
// ),
// Positioned(
// top: 5,
// right: 5,
// width: 50,
// height: 50,
// child: IconButton(
// onPressed: () {
// Navigator.pop(context);
// },
// icon: Icon(
// Icons.close,
// color: MzanziInnovationHub.of(context)!.theme.errorColor(),
// size: 35,
// ),
// ),
// ),
// ],
// ),
// ),
// );
} }
@override @override

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_settings.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_settings.dart';
@@ -22,7 +22,7 @@ class _MzansiProfileState extends State<MzansiProfile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -35,8 +35,8 @@ class _MzansiProfileState extends State<MzansiProfile> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -46,7 +46,7 @@ class _MzansiProfileState extends State<MzansiProfile> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.perm_identity)] = () { temp[const Icon(Icons.perm_identity)] = () {
setState(() { setState(() {
@@ -58,7 +58,7 @@ class _MzansiProfileState extends State<MzansiProfile> {
_selcetedIndex = 1; _selcetedIndex = 1;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
@@ -25,7 +25,7 @@ class _MzansiProfileTileState extends State<MzansiProfileTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// ImageProvider logo = MzanziInnovationHub.of(context)!.theme.logoImage(); // ImageProvider logo = MzanziInnovationHub.of(context)!.theme.logoImage();
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/mzansi-profile', '/mzansi-profile',

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
@@ -24,7 +24,7 @@ class MzansiSetupProfileTile extends StatefulWidget {
class _MzansiSetupProfileTileState extends State<MzansiSetupProfileTile> { class _MzansiSetupProfileTileState extends State<MzansiSetupProfileTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/mzansi-profile', '/mzansi-profile',

View File

@@ -7,8 +7,8 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
@@ -44,7 +44,7 @@ class _MihPersonalProfileState extends State<MihPersonalProfile> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return MihAppAlert( return MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.warning_amber_rounded, Icons.warning_amber_rounded,
size: 100, size: 100,
@@ -252,7 +252,7 @@ class _MihPersonalProfileState extends State<MihPersonalProfile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -2,8 +2,8 @@ import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_user_apis.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_user_apis.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -22,7 +22,7 @@ class MihPersonalSettings extends StatefulWidget {
class _MihPersonalSettingsState extends State<MihPersonalSettings> { class _MihPersonalSettingsState extends State<MihPersonalSettings> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody(borderOn: true, bodyItem: getBody()); return MihPackageToolBody(borderOn: true, bodyItem: getBody());
} }
void deleteAccountPopUp(BuildContext ctxtd) { void deleteAccountPopUp(BuildContext ctxtd) {
@@ -30,7 +30,7 @@ class _MihPersonalSettingsState extends State<MihPersonalSettings> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MihAppAlert( return MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.warning_amber_rounded, Icons.warning_amber_rounded,
size: 100, size: 100,

View File

@@ -4,10 +4,8 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_wallet_apis.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_number_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_number_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
@@ -50,18 +48,17 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Edit Loyalty Card", windowTitle: "Edit Loyalty Card",
windowTools: const [
SizedBox(width: 35),
],
onWindowTapClose: () { onWindowTapClose: () {
_cardNumberController.clear(); _cardNumberController.clear();
_nicknameController.clear(); _nicknameController.clear();
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
const SizedBox(height: 10),
MIHTextField( MIHTextField(
controller: _nicknameController, controller: _nicknameController,
hintText: "Card Title", hintText: "Card Title",
@@ -125,11 +122,13 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
buttonText: "Update", buttonText: "Update",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
), ),
), ),
], ],
), ),
),
); );
} }
@@ -157,7 +156,7 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MihAppAlert( return MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.favorite, Icons.favorite,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
@@ -213,7 +212,7 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MihAppAlert( return MihPackageAlert(
alertIcon: Icon( alertIcon: Icon(
Icons.favorite_border, Icons.favorite_border,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
@@ -276,30 +275,21 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MihAppWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: widget.cardList[index].shop_name.toUpperCase(), windowTitle: widget.cardList[index].shop_name.toUpperCase(),
windowTools: Row( menuOptions: [
children: [
Padding(
padding: const EdgeInsets.only(top: 5.0),
child: MihFloatingMenu(
animatedIcon: AnimatedIcons.menu_close,
direction: SpeedDialDirection.down,
children: [
SpeedDialChild( SpeedDialChild(
child: widget.cardList[index].favourite == "" child: widget.cardList[index].favourite == ""
? Icon( ? Icon(
Icons.favorite, Icons.favorite,
color: MzanziInnovationHub.of(context)! color:
.theme MzanziInnovationHub.of(context)!.theme.primaryColor(),
.primaryColor(),
) )
: Icon( : Icon(
Icons.favorite_border, Icons.favorite_border,
color: MzanziInnovationHub.of(context)! color:
.theme MzanziInnovationHub.of(context)!.theme.primaryColor(),
.primaryColor(),
), ),
label: widget.cardList[index].favourite == "" label: widget.cardList[index].favourite == ""
? "Add to Favourite" ? "Add to Favourite"
@@ -307,8 +297,7 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
labelBackgroundColor: labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle( labelStyle: TextStyle(
color: color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
backgroundColor: backgroundColor:
@@ -324,25 +313,21 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
SpeedDialChild( SpeedDialChild(
child: Icon( child: Icon(
Icons.edit, Icons.edit,
color: color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
MzanziInnovationHub.of(context)!.theme.primaryColor(),
), ),
label: "Edit Card Details", label: "Edit Card Details",
labelBackgroundColor: labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle( labelStyle: TextStyle(
color: color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
backgroundColor: backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () { onTap: () {
setState(() { setState(() {
_cardNumberController.text = _cardNumberController.text = widget.cardList[index].card_number;
widget.cardList[index].card_number; _nicknameController.text = widget.cardList[index].nickname;
_nicknameController.text =
widget.cardList[index].nickname;
}); });
editCardWindow(context, index); editCardWindow(context, index);
}, },
@@ -350,15 +335,13 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
SpeedDialChild( SpeedDialChild(
child: Icon( child: Icon(
Icons.delete, Icons.delete,
color: color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
MzanziInnovationHub.of(context)!.theme.primaryColor(),
), ),
label: "Delete Card", label: "Delete Card",
labelBackgroundColor: labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle( labelStyle: TextStyle(
color: color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
backgroundColor: backgroundColor:
@@ -368,10 +351,6 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
}, },
), ),
], ],
),
),
],
),
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_card_favourites.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_cards.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_wallet/package_tools/mih_cards.dart';
@@ -32,7 +32,7 @@ class _MihWalletState extends State<MihWallet> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -46,8 +46,8 @@ class _MihWalletState extends State<MihWallet> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -57,7 +57,7 @@ class _MihWalletState extends State<MihWallet> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.card_membership)] = () { temp[const Icon(Icons.card_membership)] = () {
setState(() { setState(() {
@@ -70,7 +70,7 @@ class _MihWalletState extends State<MihWallet> {
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -22,7 +22,7 @@ class MihWalletTile extends StatefulWidget {
class _MihWalletTileState extends State<MihWalletTile> { class _MihWalletTileState extends State<MihWalletTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/mzansi-wallet', '/mzansi-wallet',

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_wallet_apis.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_mzansi_wallet_apis.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_objects/loyalty_card.dart'; import 'package:mzansi_innovation_hub/mih_objects/loyalty_card.dart';
@@ -33,7 +33,7 @@ class _MihCardFavouritesState extends State<MihCardFavourites> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -7,9 +7,9 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
@@ -81,21 +81,9 @@ class _MihCardsState extends State<MihCards> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Add New Loyalty Card", windowTitle: "Add New Loyalty Card",
windowTools: const [
SizedBox(width: 35),
// IconButton(
// onPressed: () {
// //Delete card API Call
// },
// icon: Icon(
// Icons.delete,
// color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// ),
// ),
],
onWindowTapClose: () { onWindowTapClose: () {
shopController.clear(); shopController.clear();
cardNumberController.clear(); cardNumberController.clear();
@@ -103,7 +91,8 @@ class _MihCardsState extends State<MihCards> {
shopName.value = ""; shopName.value = "";
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
MIHDropdownField( MIHDropdownField(
controller: shopController, controller: shopController,
hintText: "Shop Name", hintText: "Shop Name",
@@ -238,11 +227,13 @@ class _MihCardsState extends State<MihCards> {
buttonText: "Add", buttonText: "Add",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
), ),
), ),
], ],
), ),
),
); );
} }
@@ -269,7 +260,7 @@ class _MihCardsState extends State<MihCards> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -6,7 +6,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_date_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_date_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart';
@@ -167,14 +167,14 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Patient Appointment", windowTitle: "Patient Appointment",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
MIHTextField( MIHTextField(
controller: idController, controller: idController,
hintText: "ID No.", hintText: "ID No.",
@@ -215,7 +215,8 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
buttonText: "Book", buttonText: "Book",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () { onTap: () {
//print("here1"); //print("here1");
bool filled = isAppointmentFieldsFilled(); bool filled = isAppointmentFieldsFilled();
@@ -237,6 +238,7 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
) )
], ],
), ),
),
); );
} }
@@ -321,14 +323,14 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Patient Profile", windowTitle: "Patient Profile",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
MIHTextField( MIHTextField(
controller: idController, controller: idController,
hintText: "ID No.", hintText: "ID No.",
@@ -367,14 +369,16 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
"Important Notice: Requesting Patient Profile Access", "Important Notice: Requesting Patient Profile Access",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: MzanziInnovationHub.of(context)!.theme.errorColor(), color:
MzanziInnovationHub.of(context)!.theme.errorColor(),
), ),
), ),
Text( Text(
"You are about to request access to a patient's profile. Please be aware of the following important points:", "You are about to request access to a patient's profile. Please be aware of the following important points:",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: MzanziInnovationHub.of(context)!.theme.errorColor(), color:
MzanziInnovationHub.of(context)!.theme.errorColor(),
), ),
), ),
SizedBox( SizedBox(
@@ -414,7 +418,8 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
"By pressing the \"Request Access\" button you accept the above terms.\n", "By pressing the \"Request Access\" button you accept the above terms.\n",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: MzanziInnovationHub.of(context)!.theme.errorColor(), color:
MzanziInnovationHub.of(context)!.theme.errorColor(),
), ),
), ),
], ],
@@ -542,6 +547,7 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
]) ])
], ],
), ),
),
); );
} }

View File

@@ -5,7 +5,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_date_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_date_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -100,14 +100,14 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Patient Appointment", windowTitle: "Patient Appointment",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
MIHTextField( MIHTextField(
controller: idController, controller: idController,
hintText: "ID No.", hintText: "ID No.",
@@ -148,7 +148,8 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
buttonText: "Book", buttonText: "Book",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () { onTap: () {
//print("here1"); //print("here1");
bool filled = isAppointmentFieldsFilled(); bool filled = isAppointmentFieldsFilled();
@@ -170,6 +171,7 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
) )
], ],
), ),
),
); );
} }
@@ -214,14 +216,14 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Patient Profile", windowTitle: "Patient Profile",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
MIHTextField( MIHTextField(
controller: idController, controller: idController,
hintText: "ID No.", hintText: "ID No.",
@@ -283,6 +285,7 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
]) ])
], ],
), ),
),
); );
} }

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -20,7 +20,7 @@ class PatManagerTile extends StatefulWidget {
class _PatManagerTileState extends State<PatManagerTile> { class _PatManagerTileState extends State<PatManagerTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/patient-manager', '/patient-manager',

View File

@@ -2,7 +2,7 @@ import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_api_calls.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_api_calls.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_input.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_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
@@ -221,7 +221,7 @@ class _MihPatientSearchState extends State<MihPatientSearch> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getPatientSearch(), bodyItem: getPatientSearch(),
); );

View File

@@ -2,7 +2,7 @@ import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_api_calls.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_api_calls.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_input.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_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
@@ -201,7 +201,7 @@ class _MyPatientListState extends State<MyPatientList> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: myPatientListTool(), bodyItem: myPatientListTool(),
); );

View File

@@ -8,9 +8,9 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_time_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -222,20 +222,21 @@ class _WaitingRoomState extends State<WaitingRoom> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Appointment Type", windowTitle: "Appointment Type",
windowTools: [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
windowBody: [ windowBody: Column(
children: [
Text( Text(
question, question,
style: TextStyle( style: TextStyle(
fontSize: 20, fontSize: 20,
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.secondaryColor()), .theme
.secondaryColor()),
textAlign: TextAlign.left, textAlign: TextAlign.left,
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
@@ -287,6 +288,7 @@ class _WaitingRoomState extends State<WaitingRoom> {
), ),
), ),
], ],
),
); );
}, },
); );
@@ -297,10 +299,9 @@ class _WaitingRoomState extends State<WaitingRoom> {
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) { builder: (context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Add Appointment", windowTitle: "Add Appointment",
windowTools: [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
_appointmentDateController.clear(); _appointmentDateController.clear();
@@ -309,7 +310,8 @@ class _WaitingRoomState extends State<WaitingRoom> {
_appointmentDescriptionIDController.clear(); _appointmentDescriptionIDController.clear();
_patientController.clear(); _patientController.clear();
}, },
windowBody: [ windowBody: Column(
children: [
SizedBox( SizedBox(
// width: 500, // width: 500,
child: MIHTextField( child: MIHTextField(
@@ -364,6 +366,7 @@ class _WaitingRoomState extends State<WaitingRoom> {
), ),
), ),
], ],
),
); );
}, },
); );
@@ -450,7 +453,7 @@ class _WaitingRoomState extends State<WaitingRoom> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBusinessAppointmentsTool(), bodyItem: getBusinessAppointmentsTool(),
); );

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.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/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/my_patient_list.dart';
@@ -29,7 +29,7 @@ class _PatManagerState extends State<PatManager> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getActionButton(), appActionButton: getActionButton(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -42,8 +42,8 @@ class _PatManagerState extends State<PatManager> {
); );
} }
MihAppAction getActionButton() { MihPackageAction getActionButton() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -53,7 +53,7 @@ class _PatManagerState extends State<PatManager> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.calendar_month)] = () { temp[const Icon(Icons.calendar_month)] = () {
setState(() { setState(() {
@@ -72,7 +72,7 @@ class _PatManagerState extends State<PatManager> {
_selcetedIndex = 2; _selcetedIndex = 2;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -6,7 +6,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.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/arguments.dart';
@@ -389,10 +389,9 @@ class _ClaimStatementWindowState extends State<ClaimStatementWindow> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Generate Claim/ Statement Document", windowTitle: "Generate Claim/ Statement Document",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
// medicineController.clear(); // medicineController.clear();
// quantityController.clear(); // quantityController.clear();
@@ -402,9 +401,7 @@ class _ClaimStatementWindowState extends State<ClaimStatementWindow> {
// noRepeatsController.clear(); // noRepeatsController.clear();
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: getWindowBody(),
getWindowBody(),
],
); );
} }
} }

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_objects/icd10_code.dart.dart'; import 'package:mzansi_innovation_hub/mih_objects/icd10_code.dart.dart';
import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_icd10_code_list.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_icd10_code_list.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -37,10 +37,9 @@ class _ICD10SearchWindowState extends State<ICD10SearchWindow> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "ICD-10 Search", windowTitle: "ICD-10 Search",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
// medicineController.clear(); // medicineController.clear();
// quantityController.clear(); // quantityController.clear();
@@ -50,9 +49,7 @@ class _ICD10SearchWindowState extends State<ICD10SearchWindow> {
// noRepeatsController.clear(); // noRepeatsController.clear();
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: getWindowBody(),
getWindowBody(),
],
); );
} }
} }

View File

@@ -1,6 +1,5 @@
import 'dart:convert'; import 'dart:convert';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -66,14 +65,14 @@ class _MedicineSearchState extends State<MedicineSearch> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MIHWindow( return MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Select Medicine", windowTitle: "Select Medicine",
windowTools: [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
FutureBuilder( FutureBuilder(
future: futueMeds, future: futueMeds,
builder: (context, snapshot) { builder: (context, snapshot) {
@@ -107,6 +106,7 @@ class _MedicineSearchState extends State<MedicineSearch> {
}, },
), ),
], ],
),
); );
} }
} }

View File

@@ -1,9 +1,14 @@
import 'dart:async';
import 'package:fl_downloader/fl_downloader.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_claim_statement_generation_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_claim_statement_generation_api.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
@@ -14,6 +19,9 @@ import 'package:mzansi_innovation_hub/mih_objects/claim_statement_file.dart';
import 'package:mzansi_innovation_hub/mih_objects/patients.dart'; import 'package:mzansi_innovation_hub/mih_objects/patients.dart';
import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:supertokens_flutter/http.dart' as http;
import 'package:http/http.dart' as http2;
import "package:universal_html/html.dart" as html;
class BuildClaimStatementFileList extends StatefulWidget { class BuildClaimStatementFileList extends StatefulWidget {
final AppUser signedInUser; final AppUser signedInUser;
@@ -45,6 +53,8 @@ class _BuildClaimStatementFileListState
final baseAPI = AppEnviroment.baseApiUrl; final baseAPI = AppEnviroment.baseApiUrl;
final basefile = AppEnviroment.baseFileUrl; final basefile = AppEnviroment.baseFileUrl;
String fileUrl = ""; String fileUrl = "";
int progress = 0;
late StreamSubscription progressStream;
Future<String> getFileUrlApiCall(String filePath) async { Future<String> getFileUrlApiCall(String filePath) async {
String teporaryFileUrl = ""; String teporaryFileUrl = "";
@@ -105,18 +115,138 @@ class _BuildClaimStatementFileListState
); );
} }
String getFileName(String path) {
//print(pdfLink.split(".")[1]);
return path.split("/").last;
}
void printDocument(String link, String path) async {
http2.Response response = await http.get(Uri.parse(link));
var pdfData = response.bodyBytes;
Navigator.of(context).pushNamed(
'/file-veiwer/print-preview',
arguments: PrintPreviewArguments(
pdfData,
getFileName(path),
),
);
}
void nativeFileDownload(String fileLink) async {
var permission = await FlDownloader.requestPermission();
if (permission == StoragePermissionStatus.granted) {
try {
mihLoadingPopUp();
await FlDownloader.download(fileLink);
Navigator.of(context).pop();
} on Exception catch (error) {
Navigator.of(context).pop();
print(error);
}
} else {
print("denied");
}
}
void viewFilePopUp(String fileName, String filePath, int fileID, String url) { void viewFilePopUp(String fileName, String filePath, int fileID, String url) {
bool hasAccessToDelete = false; bool hasAccessToDelete = false;
if (widget.type == "business") { if (widget.type == "business") {
hasAccessToDelete = true; hasAccessToDelete = true;
} }
List<SpeedDialChild>? menuList = [
SpeedDialChild(
child: Icon(
Icons.download,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Download",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
if (MzanziInnovationHub.of(context)!.theme.getPlatform() == "Web") {
html.window.open(url, 'download');
} else {
nativeFileDownload(url);
}
},
),
];
menuList.add(
SpeedDialChild(
child: Icon(
Icons.print,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Print",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
printDocument(url, filePath);
},
),
);
menuList.add(
SpeedDialChild(
child: Icon(
Icons.fullscreen,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Full Screen",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
printDocument(url, filePath);
},
),
);
if (hasAccessToDelete) {
menuList.add(
SpeedDialChild(
child: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Delete Document",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
deleteFilePopUp(filePath, fileID);
},
),
);
}
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: true, fullscreen: false,
windowTitle: fileName, windowTitle: fileName,
windowBody: [ windowBody: Column(
children: [
BuildFileView( BuildFileView(
link: url, link: url,
path: filePath, path: filePath,
@@ -126,21 +256,8 @@ class _BuildClaimStatementFileListState
height: 10, height: 10,
) )
], ],
windowTools: [
Visibility(
visible: hasAccessToDelete,
child: IconButton(
onPressed: () {
deleteFilePopUp(filePath, fileID);
},
icon: Icon(
size: 35,
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
), ),
), menuOptions: menuList,
),
],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
@@ -148,12 +265,41 @@ class _BuildClaimStatementFileListState
); );
} }
void mihLoadingPopUp() {
showDialog(
context: context,
builder: (context) {
return const Mihloadingcircle();
},
);
}
@override @override
void dispose() { void dispose() {
// TODO: implement dispose // TODO: implement dispose
super.dispose(); super.dispose();
} }
@override
void initState() {
super.initState();
FlDownloader.initialize();
progressStream = FlDownloader.progressStream.listen((event) {
if (event.status == DownloadStatus.successful) {
setState(() {
progress = event.progress;
});
//Navigator.of(context).pop();
print("Progress $progress%: Success Downloading");
FlDownloader.openFile(filePath: event.filePath);
} else if (event.status == DownloadStatus.failed) {
print("Progress $progress%: Error Downloading");
} else if (event.status == DownloadStatus.running) {
print("Progress $progress%: Download Running");
}
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (widget.files.isNotEmpty) { if (widget.files.isNotEmpty) {

View File

@@ -6,7 +6,6 @@ import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_core/theme.dart'; import 'package:syncfusion_flutter_core/theme.dart';
import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart'; import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
import "package:universal_html/html.dart" as html;
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:fl_downloader/fl_downloader.dart'; import 'package:fl_downloader/fl_downloader.dart';
@@ -115,11 +114,9 @@ class _BuildFileViewState extends State<BuildFileView> {
//double height = MediaQuery.sizeOf(context).height; //double height = MediaQuery.sizeOf(context).height;
debugPrint(widget.link); debugPrint(widget.link);
if (getExtType(widget.path).toLowerCase() == "pdf") { if (getExtType(widget.path).toLowerCase() == "pdf") {
return Expanded( return SizedBox(
child: Stack( height: 500,
fit: StackFit.expand, child: SfPdfViewerTheme(
children: [
SfPdfViewerTheme(
data: SfPdfViewerThemeData( data: SfPdfViewerThemeData(
backgroundColor: backgroundColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
@@ -130,135 +127,17 @@ class _BuildFileViewState extends State<BuildFileView> {
interactionMode: PdfInteractionMode.pan, interactionMode: PdfInteractionMode.pan,
), ),
), ),
Positioned(
bottom: 10,
right: 10,
width: 50,
height: 50,
child: IconButton.filled(
iconSize: 35,
padding: const EdgeInsets.all(0),
onPressed: () {
printDocument();
},
icon: Icon(
Icons.print,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
),
),
Positioned(
bottom: 10,
left: 10,
width: 50,
height: 50,
child: IconButton.filled(
iconSize: 35,
padding: const EdgeInsets.all(0),
onPressed: () async {
// debugPrint(
// "I'm here ${MzanziInnovationHub.of(context)!.theme.getPlatform()}");
if (MzanziInnovationHub.of(context)!.theme.getPlatform() ==
"Web") {
html.window.open(
widget.link,
// '${AppEnviroment.baseFileUrl}/mih/$filePath',
'download');
} else {
// print("Here");
// var permission = await FlDownloader.requestPermission();
// if (permission == StoragePermissionStatus.granted) {
// await FlDownloader.download(widget.link);
// } else {
// print("denied");
// }
nativeFileDownload(widget.link);
}
},
icon: Icon(
Icons.download,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
),
),
],
),
); );
} else { } else {
return Expanded( return SizedBox(
// height: height, height: 500,
// padding: const EdgeInsets.all(10.0), child: InteractiveViewer(
child: Stack(
fit: StackFit.expand,
children: [
InteractiveViewer(
//constrained: true, //constrained: true,
//clipBehavior: Clip.antiAlias, //clipBehavior: Clip.antiAlias,
maxScale: 5.0, maxScale: 5.0,
//minScale: 0., //minScale: 0.,
child: Image.network(widget.link), child: Image.network(widget.link),
), ),
Positioned(
bottom: 10,
right: 10,
width: 50,
height: 50,
child: IconButton.filled(
iconSize: 35,
padding: const EdgeInsets.all(0),
onPressed: () {
//expandImage(width, height);
Navigator.of(context).pushNamed(
'/file-veiwer',
arguments: FileViewArguments(
widget.link,
widget.path,
),
);
},
icon: Icon(
Icons.fullscreen,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
),
),
Positioned(
bottom: 10,
left: 10,
width: 50,
height: 50,
child: IconButton.filled(
iconSize: 35,
padding: const EdgeInsets.all(0),
onPressed: () async {
// debugPrint("I'm here ");
// debugPrint(
// "I'm here ${MzanziInnovationHub.of(context)!.theme.getPlatform()}");
if (MzanziInnovationHub.of(context)!.theme.getPlatform() ==
"Web") {
html.window.open(
widget.link,
// '${AppEnviroment.baseFileUrl}/mih/$filePath',
'download');
} else {
//print("Here");
// var permission = await FlDownloader.requestPermission();
// if (permission == StoragePermissionStatus.granted) {
// await FlDownloader.download(widget.link);
// } else {
// print("denied");
// }
nativeFileDownload(widget.link);
}
},
icon: Icon(
Icons.download,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
),
),
],
),
); );
} }
} }

View File

@@ -1,8 +1,11 @@
import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'package:fl_downloader/fl_downloader.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
@@ -17,6 +20,8 @@ import 'package:mzansi_innovation_hub/mih_objects/patients.dart';
import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/list_builders/build_file_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import 'package:http/http.dart' as http2;
import "package:universal_html/html.dart" as html;
class BuildFilesList extends StatefulWidget { class BuildFilesList extends StatefulWidget {
final AppUser signedInUser; final AppUser signedInUser;
@@ -46,6 +51,8 @@ class _BuildFilesListState extends State<BuildFilesList> {
final baseAPI = AppEnviroment.baseApiUrl; final baseAPI = AppEnviroment.baseApiUrl;
final basefile = AppEnviroment.baseFileUrl; final basefile = AppEnviroment.baseFileUrl;
String fileUrl = ""; String fileUrl = "";
int progress = 0;
late StreamSubscription progressStream;
Future<String> getFileUrlApiCall(String filePath) async { Future<String> getFileUrlApiCall(String filePath) async {
String teporaryFileUrl = ""; String teporaryFileUrl = "";
@@ -158,147 +165,185 @@ class _BuildFilesListState extends State<BuildFilesList> {
); );
} }
String getFileName(String path) {
//print(pdfLink.split(".")[1]);
return path.split("/").last;
}
void printDocument(String link, String path) async {
http2.Response response = await http.get(Uri.parse(link));
var pdfData = response.bodyBytes;
Navigator.of(context).pushNamed(
'/file-veiwer/print-preview',
arguments: PrintPreviewArguments(
pdfData,
getFileName(path),
),
);
}
void nativeFileDownload(String fileLink) async {
var permission = await FlDownloader.requestPermission();
if (permission == StoragePermissionStatus.granted) {
try {
mihLoadingPopUp();
await FlDownloader.download(fileLink);
Navigator.of(context).pop();
} on Exception catch (error) {
Navigator.of(context).pop();
print(error);
}
} else {
print("denied");
}
}
void viewFilePopUp(String fileName, String filePath, int fileID, String url) { void viewFilePopUp(String fileName, String filePath, int fileID, String url) {
bool hasAccessToDelete = false; bool hasAccessToDelete = false;
if (widget.type == "business") { if (widget.type == "business") {
hasAccessToDelete = true; hasAccessToDelete = true;
} }
List<SpeedDialChild>? menuList = [
SpeedDialChild(
child: Icon(
Icons.download,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Download",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor: MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
if (MzanziInnovationHub.of(context)!.theme.getPlatform() == "Web") {
html.window.open(url, 'download');
} else {
nativeFileDownload(url);
}
},
),
];
if (filePath.split(".").last.toLowerCase() == "pdf") {
menuList.add(
SpeedDialChild(
child: Icon(
Icons.print,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Print",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
printDocument(url, filePath);
},
),
);
menuList.add(
SpeedDialChild(
child: Icon(
Icons.fullscreen,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Full Screen",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
printDocument(url, filePath);
},
),
);
} else {
menuList.add(
SpeedDialChild(
child: Icon(
Icons.fullscreen,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Full Screen",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
Navigator.of(context).pushNamed(
'/file-veiwer',
arguments: FileViewArguments(
url,
filePath,
),
);
},
),
);
}
if (hasAccessToDelete) {
menuList.add(
SpeedDialChild(
child: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Delete Document",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
deleteFilePopUp(filePath, fileID);
},
),
);
}
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: true, fullscreen: false,
windowTitle: fileName, windowTitle: fileName,
windowBody: [ windowBody: BuildFileView(
BuildFileView(
link: url, link: url,
path: filePath, path: filePath,
//pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath', //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath',
), ),
const SizedBox( menuOptions: menuList,
height: 10,
)
],
windowTools: [
Visibility(
visible: hasAccessToDelete,
child: IconButton(
onPressed: () {
deleteFilePopUp(filePath, fileID);
},
icon: Icon(
size: 35,
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
),
),
),
],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
), ),
); );
// showDialog( }
// context: context,
// barrierDismissible: false, void mihLoadingPopUp() {
// builder: (context) => Dialog( showDialog(
// child: Stack( context: context,
// children: [ builder: (context) {
// Container( return const Mihloadingcircle();
// padding: const EdgeInsets.all(10.0), },
// width: 800.0, );
// //height: 475.0,
// decoration: BoxDecoration(
// color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
// borderRadius: BorderRadius.circular(25.0),
// border: Border.all(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// width: 5.0),
// ),
// child: Column(
// mainAxisSize: MainAxisSize.min,
// children: [
// const SizedBox(
// height: 25,
// ),
// Text(
// fileName,
// textAlign: TextAlign.center,
// style: TextStyle(
// color: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// fontSize: 35.0,
// fontWeight: FontWeight.bold,
// ),
// ),
// const SizedBox(height: 25.0),
// Expanded(
// child: BuildFileView(
// link: url,
// path: filePath,
// //pdfLink: '${AppEnviroment.baseFileUrl}/mih/$filePath',
// )),
// const SizedBox(height: 30.0),
// SizedBox(
// width: 300,
// height: 50,
// child: MIHButton(
// onTap: () {
// html.window.open(
// url,
// // '${AppEnviroment.baseFileUrl}/mih/$filePath',
// 'download');
// },
// buttonText: "Dowload",
// buttonColor: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// textColor:
// MzanziInnovationHub.of(context)!.theme.primaryColor(),
// ),
// )
// ],
// ),
// ),
// Positioned(
// top: 5,
// right: 5,
// width: 50,
// height: 50,
// child: IconButton(
// onPressed: () {
// Navigator.pop(context);
// },
// icon: Icon(
// Icons.close,
// color: MzanziInnovationHub.of(context)!.theme.errorColor(),
// size: 35,
// ),
// ),
// ),
// Positioned(
// top: 5,
// left: 5,
// width: 50,
// height: 50,
// child: IconButton(
// onPressed: () {
// deleteFilePopUp(filePath, fileID);
// },
// icon: Icon(
// Icons.delete,
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// ),
// ),
// ),
// ],
// ),
// ),
// );
} }
@override @override
@@ -307,6 +352,26 @@ class _BuildFilesListState extends State<BuildFilesList> {
super.dispose(); super.dispose();
} }
@override
void initState() {
super.initState();
FlDownloader.initialize();
progressStream = FlDownloader.progressStream.listen((event) {
if (event.status == DownloadStatus.successful) {
setState(() {
progress = event.progress;
});
//Navigator.of(context).pop();
print("Progress $progress%: Success Downloading");
FlDownloader.openFile(filePath: event.filePath);
} else if (event.status == DownloadStatus.failed) {
print("Progress $progress%: Error Downloading");
} else if (event.status == DownloadStatus.running) {
print("Progress $progress%: Download Running");
}
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (widget.files.isNotEmpty) { if (widget.files.isNotEmpty) {

View File

@@ -1,9 +1,10 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_delete_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
@@ -136,27 +137,39 @@ class _BuildNotesListState extends State<BuildNotesList> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: true, fullscreen: false,
windowTitle: selectednote.note_name, windowTitle: "Note Details",
windowTools: [ menuOptions: hasAccessToDelete
Visibility( ? [
visible: hasAccessToDelete, SpeedDialChild(
child: IconButton( child: Icon(
onPressed: () { Icons.delete,
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
label: "Delete Document",
labelBackgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
labelStyle: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontWeight: FontWeight.bold,
),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
onTap: () {
deletePatientPopUp(selectednote.idpatient_notes); deletePatientPopUp(selectednote.idpatient_notes);
}, },
icon: Icon(
Icons.delete,
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
), ),
), ]
), : null,
],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
const SizedBox(height: 10.0),
MIHTextField( MIHTextField(
controller: businessNameController, controller: businessNameController,
hintText: "Office", hintText: "Office",
@@ -185,7 +198,8 @@ class _BuildNotesListState extends State<BuildNotesList> {
required: false, required: false,
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
Expanded( SizedBox(
height: 250,
child: MIHMLTextField( child: MIHMLTextField(
controller: noteTextController, controller: noteTextController,
hintText: "Note Details", hintText: "Note Details",
@@ -195,143 +209,8 @@ class _BuildNotesListState extends State<BuildNotesList> {
), ),
], ],
), ),
),
); );
// showDialog(
// context: context,
// barrierDismissible: false,
// builder: (context) => Dialog(
// child: Stack(
// children: [
// Container(
// padding: const EdgeInsets.all(15.0),
// width: 700.0,
// //height: 475.0,
// decoration: BoxDecoration(
// color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
// borderRadius: BorderRadius.circular(25.0),
// border: Border.all(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// width: 5.0),
// ),
// child: Column(
// mainAxisSize: MainAxisSize.max,
// children: [
// const SizedBox(
// height: 25,
// ),
// Text(
// selectednote.note_name,
// textAlign: TextAlign.center,
// style: TextStyle(
// color: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// fontSize: 35.0,
// fontWeight: FontWeight.bold,
// ),
// ),
// const SizedBox(height: 25.0),
// SizedBox(
// width: 700,
// child: MIHTextField(
// controller: businessNameController,
// hintText: "Office",
// editable: false,
// required: false,
// ),
// ),
// const SizedBox(height: 10.0),
// SizedBox(
// width: 700,
// child: MIHTextField(
// controller: userNameController,
// hintText: "Created By",
// editable: false,
// required: false,
// ),
// ),
// const SizedBox(height: 10.0),
// SizedBox(
// width: 700,
// child: MIHTextField(
// controller: dateController,
// hintText: "Created Date",
// editable: false,
// required: false,
// ),
// ),
// const SizedBox(height: 10.0),
// SizedBox(
// width: 700,
// child: MIHTextField(
// controller: noteTitleController,
// hintText: "Note Title",
// editable: false,
// required: false,
// ),
// ),
// const SizedBox(height: 10.0),
// Expanded(
// child: MIHMLTextField(
// controller: noteTextController,
// hintText: "Note Details",
// editable: false,
// required: false,
// ),
// ),
// //const SizedBox(height: 25.0),
// // SizedBox(
// // width: 300,
// // height: 100,
// // child: MIHButton(
// // onTap: () {
// // Navigator.pop(context);
// // },
// // buttonText: "Close",
// // buttonColor: Colors.blueAccent,
// // textColor: Colors.white,
// // ),
// // )
// ],
// ),
// ),
// Positioned(
// top: 5,
// right: 5,
// width: 50,
// height: 50,
// child: IconButton(
// onPressed: () {
// Navigator.pop(context);
// },
// icon: Icon(
// Icons.close,
// color: MzanziInnovationHub.of(context)!.theme.errorColor(),
// size: 35,
// ),
// ),
// ),
// Positioned(
// top: 5,
// left: 5,
// width: 50,
// height: 50,
// child: IconButton(
// onPressed: () {
// deletePatientPopUp(selectednote.idpatient_notes);
// },
// icon: Icon(
// Icons.delete,
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// ),
// ),
// ),
// ],
// ),
// ),
// );
} }
@override @override

View File

@@ -1,5 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tile.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,7 +21,7 @@ class PatientProfileTile extends StatefulWidget {
class _PatientProfileTileState extends State<PatientProfileTile> { class _PatientProfileTileState extends State<PatientProfileTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppTile( return MihPackageTile(
onTap: () { onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/patient-profile', '/patient-profile',

View File

@@ -1,7 +1,7 @@
import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_claim_statement_generation_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_claim_statement_generation_api.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -113,7 +113,7 @@ class _PatientClaimOrStatementState extends State<PatientClaimOrStatement> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -5,9 +5,9 @@ import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_multiline_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
@@ -84,16 +84,16 @@ class _PatientConsultationState extends State<PatientConsultation> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Add Note", windowTitle: "Add Note",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
titleController.clear(); titleController.clear();
noteTextController.clear(); noteTextController.clear();
}, },
windowBody: [ windowBody: Column(
children: [
MIHTextField( MIHTextField(
controller: officeController, controller: officeController,
hintText: "Office", hintText: "Office",
@@ -180,11 +180,13 @@ class _PatientConsultationState extends State<PatientConsultation> {
buttonText: "Add Note", buttonText: "Add Note",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
), ),
) )
], ],
), ),
),
); );
} }
@@ -316,7 +318,7 @@ class _PatientConsultationState extends State<PatientConsultation> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -7,9 +7,9 @@ import 'package:mzansi_innovation_hub/mih_components/med_cert_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_file_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
@@ -221,14 +221,14 @@ class _PatientDocumentsState extends State<PatientDocuments> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Upload File", windowTitle: "Upload File",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
MIHFileField( MIHFileField(
controller: selectedFileController, controller: selectedFileController,
hintText: "Select File", hintText: "Select File",
@@ -259,7 +259,8 @@ class _PatientDocumentsState extends State<PatientDocuments> {
buttonText: "Add File", buttonText: "Add File",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () { onTap: () {
if (isFileFieldsFilled()) { if (isFileFieldsFilled()) {
submitDocUploadForm(); submitDocUploadForm();
@@ -278,6 +279,7 @@ class _PatientDocumentsState extends State<PatientDocuments> {
) )
], ],
), ),
),
); );
} }
@@ -285,14 +287,14 @@ class _PatientDocumentsState extends State<PatientDocuments> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Create Medical Certificate", windowTitle: "Create Medical Certificate",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
Medcertinput( Medcertinput(
startDateController: startDateController, startDateController: startDateController,
endDateTextController: endDateTextController, endDateTextController: endDateTextController,
@@ -306,7 +308,8 @@ class _PatientDocumentsState extends State<PatientDocuments> {
buttonText: "Generate", buttonText: "Generate",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () async { onTap: () async {
if (isMedCertFieldsFilled()) { if (isMedCertFieldsFilled()) {
await generateMedCert(); await generateMedCert();
@@ -324,6 +327,7 @@ class _PatientDocumentsState extends State<PatientDocuments> {
) )
], ],
), ),
),
); );
} }
@@ -331,10 +335,9 @@ class _PatientDocumentsState extends State<PatientDocuments> {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (context) => MIHWindow( builder: (context) => MihPackageWindow(
fullscreen: false, fullscreen: false,
windowTitle: "Create Prescription", windowTitle: "Create Prescription",
windowTools: const [],
onWindowTapClose: () { onWindowTapClose: () {
medicineController.clear(); medicineController.clear();
quantityController.clear(); quantityController.clear();
@@ -344,7 +347,8 @@ class _PatientDocumentsState extends State<PatientDocuments> {
noRepeatsController.clear(); noRepeatsController.clear();
Navigator.pop(context); Navigator.pop(context);
}, },
windowBody: [ windowBody: Column(
children: [
PrescripInput( PrescripInput(
medicineController: medicineController, medicineController: medicineController,
quantityController: quantityController, quantityController: quantityController,
@@ -361,6 +365,7 @@ class _PatientDocumentsState extends State<PatientDocuments> {
), ),
], ],
), ),
),
); );
} }
@@ -594,7 +599,7 @@ class _PatientDocumentsState extends State<PatientDocuments> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -2,7 +2,7 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_text_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.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/arguments.dart';
@@ -232,7 +232,7 @@ class _PatientInfoState extends State<PatientInfo> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihAppToolBody( return MihPackageToolBody(
borderOn: true, borderOn: true,
bodyItem: getBody(), bodyItem: getBody(),
); );

View File

@@ -1,6 +1,6 @@
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_action.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.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_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_consultation.dart';
@@ -23,7 +23,7 @@ class _PatientProfileState extends State<PatientProfile> {
int _selcetedIndex = 0; int _selcetedIndex = 0;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihApp( return MihPackage(
appActionButton: getAction(), appActionButton: getAction(),
appTools: getTools(), appTools: getTools(),
appBody: getToolBody(), appBody: getToolBody(),
@@ -36,8 +36,8 @@ class _PatientProfileState extends State<PatientProfile> {
); );
} }
MihAppAction getAction() { MihPackageAction getAction() {
return MihAppAction( return MihPackageAction(
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
iconSize: 35, iconSize: 35,
onTap: () { onTap: () {
@@ -47,7 +47,7 @@ class _PatientProfileState extends State<PatientProfile> {
); );
} }
MihAppTools getTools() { MihPackageTools getTools() {
Map<Widget, void Function()?> temp = {}; Map<Widget, void Function()?> temp = {};
temp[const Icon(Icons.perm_identity)] = () { temp[const Icon(Icons.perm_identity)] = () {
setState(() { setState(() {
@@ -69,7 +69,7 @@ class _PatientProfileState extends State<PatientProfile> {
_selcetedIndex = 3; _selcetedIndex = 3;
}); });
}; };
return MihAppTools( return MihPackageTools(
tools: temp, tools: temp,
selcetedIndex: _selcetedIndex, selcetedIndex: _selcetedIndex,
); );

View File

@@ -50,7 +50,7 @@ class _MIHTestState extends State<MIHTest> {
], ],
), ),
secondaryActionButton: null, secondaryActionButton: null,
body: MIHBody( body: const MIHBody(
borderOn: false, borderOn: false,
bodyItems: [ bodyItems: [
// YoutubePlayer( // YoutubePlayer(
@@ -64,18 +64,5 @@ class _MIHTestState extends State<MIHTest> {
pullDownToRefresh: false, pullDownToRefresh: false,
onPullDown: () async {}, onPullDown: () async {},
); );
// return MIHWindow(
// fullscreen: false,
// windowTitle: "Test",
// windowTools: const [],
// onWindowTapClose: () {
// Navigator.pop(context);
// },
// windowBody: [
// YoutubePlayer(
// controller: videoController,
// ),
// ],
// );
} }
} }