create new MIH Button

This commit is contained in:
2025-05-29 10:55:51 +02:00
parent 3d75efb0bb
commit c0a35411b5
46 changed files with 1704 additions and 2633 deletions

View File

@@ -1,48 +0,0 @@
import 'package:flutter/material.dart';
class MIHButton extends StatefulWidget {
final void Function()? onTap;
final String buttonText;
final Color buttonColor;
final Color textColor;
const MIHButton({
super.key,
required this.onTap,
required this.buttonText,
required this.buttonColor,
required this.textColor,
});
@override
State<MIHButton> createState() => _MIHButtonState();
}
class _MIHButtonState extends State<MIHButton> {
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: widget.onTap,
style: ElevatedButton.styleFrom(
backgroundColor: widget.buttonColor,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12.0),
),
),
child: Text(
widget.buttonText,
style: TextStyle(
//fontWeight: FontWeight.bold,
fontSize: 20,
color: widget.textColor,
fontWeight: FontWeight.bold,
),
),
);
}
}

View File

@@ -4,6 +4,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_button.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_package_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_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';
@@ -123,6 +124,70 @@ class _PackageToolOneState extends State<PackageToolOne> {
], ],
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
MihButton(
onPressed: () {
print("Button Pressed");
},
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Click Me",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
const SizedBox(height: 10),
MihButton(
onPressed: () {
print("Button Pressed");
},
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
width: 300,
child: Row(
children: [
Icon(
Icons.delete,
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
Text(
"Click Me",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
],
),
),
const SizedBox(height: 10),
MihButton(
onPressed: () {
print("Button Pressed");
},
buttonColor:
MzanziInnovationHub.of(context)!.theme.errorColor(),
width: 300,
child: Text(
"Click Me",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
const SizedBox(height: 10),
Container( Container(
color: Colors.black, color: Colors.black,
width: 200, width: 200,

View File

@@ -0,0 +1,43 @@
import 'package:animated_button/animated_button.dart';
import 'package:flutter/material.dart';
class MihButton extends StatefulWidget {
final void Function() onPressed;
final Color buttonColor;
final double width;
final double? height;
final double? borderRadius;
final Widget child;
const MihButton({
super.key,
required this.onPressed,
required this.buttonColor,
required this.width,
this.height,
this.borderRadius,
required this.child,
});
@override
State<MihButton> createState() => _MihButtonState();
}
class _MihButtonState extends State<MihButton> {
@override
Widget build(BuildContext context) {
return FittedBox(
fit: BoxFit.contain,
child: AnimatedButton(
width: widget.width,
height: widget.height ?? 50.0,
borderRadius: widget.borderRadius ?? 25.0,
color: widget.buttonColor,
shadowDegree: ShadowDegree.light,
duration: 30,
onPressed: widget.onPressed,
child: FittedBox(child: widget.child),
),
);
}
}

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
import '../../main.dart'; import '../../main.dart';
import '../mih_inputs_and_buttons/mih_button.dart';
class MIHDeleteMessage extends StatefulWidget { class MIHDeleteMessage extends StatefulWidget {
final String deleteType; final String deleteType;
@@ -97,18 +97,21 @@ class _MIHDeleteMessageState extends State<MIHDeleteMessage> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
onPressed: widget.onTap,
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300, width: 300,
height: 50, child: Text(
child: MIHButton( "Delete",
onTap: widget.onTap, style: TextStyle(
buttonText: "Delete", color:
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
)) fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
], ],
), ),
), ),
@@ -179,18 +182,21 @@ class _MIHDeleteMessageState extends State<MIHDeleteMessage> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
onPressed: widget.onTap,
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300, width: 300,
height: 50, child: Text(
child: MIHButton( "Delete",
onTap: widget.onTap, style: TextStyle(
buttonText: "Delete", color:
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
)) fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
], ],
), ),
), ),
@@ -261,18 +267,22 @@ class _MIHDeleteMessageState extends State<MIHDeleteMessage> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox(
MihButton(
onPressed: widget.onTap,
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300, width: 300,
height: 50, child: Text(
child: MIHButton( "Delete",
onTap: widget.onTap, style: TextStyle(
buttonText: "Delete", color:
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
)) fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
], ],
), ),
), ),
@@ -343,18 +353,21 @@ class _MIHDeleteMessageState extends State<MIHDeleteMessage> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
onPressed: widget.onTap,
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300, width: 300,
height: 50, child: Text(
child: MIHButton( "Delete",
onTap: widget.onTap, style: TextStyle(
buttonText: "Delete", color:
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
)) fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
], ],
), ),
), ),
@@ -425,18 +438,21 @@ class _MIHDeleteMessageState extends State<MIHDeleteMessage> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
onPressed: widget.onTap,
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300, width: 300,
height: 50, child: Text(
child: MIHButton( "Delete",
onTap: widget.onTap, style: TextStyle(
buttonText: "Delete", color:
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
)) fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
], ],
), ),
), ),

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
import '../../main.dart'; import '../../main.dart';
import '../mih_inputs_and_buttons/mih_button.dart';
class MIHSuccessMessage extends StatefulWidget { class MIHSuccessMessage extends StatefulWidget {
final String successType; final String successType;
@@ -96,18 +96,21 @@ class _MIHSuccessMessageState extends State<MIHSuccessMessage> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
Navigator.pop(context); Navigator.pop(context);
}, },
buttonText: "Dismiss",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: width: 300,
child: Text(
"Dismiss",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

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_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_button.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_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';
@@ -62,18 +62,25 @@ class _MihAttributesState extends State<MihAttributes> {
verticalAlignment: TableCellVerticalAlignment.middle, verticalAlignment: TableCellVerticalAlignment.middle,
child: Padding( child: Padding(
padding: const EdgeInsets.only(bottom: 15.0), padding: const EdgeInsets.only(bottom: 15.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
launchUrlLink( launchUrlLink(
Uri.parse( Uri.parse(
link, link,
), ),
); );
}, },
buttonText: "Visit",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 100,
child: Text(
"Visit",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
), ),
), ),

View File

@@ -1,8 +1,8 @@
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_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_button.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_package_tool_body.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -81,155 +81,6 @@ class _MihInfoState extends State<MihInfo> {
} }
} }
// void _showIOSInstallationGuide() {
// double windowFontSize = 17.0;
// showDialog(
// context: context,
// barrierDismissible: false,
// builder: (context) {
// return MihPackageWindow(
// fullscreen: false,
// windowTitle: "MIH Installation Guide (iOS)",
// windowTools: const [],
// onWindowTapClose: () {
// Navigator.of(context).pop();
// },
// windowBody: [
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "In order to install MIH on your iPhone, please follow the below steps:- ",
// textAlign: TextAlign.left,
// style: TextStyle(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "1. Launch MIH on Safari.",
// textAlign: TextAlign.left,
// style: TextStyle(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "2. Tap the Share Button.",
// textAlign: TextAlign.left,
// style: TextStyle(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "3. Scroll down and tap \"Add to Home Screen\".",
// textAlign: TextAlign.left,
// style: TextStyle(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "4. Choose a name for the shortcut (Optional).",
// textAlign: TextAlign.left,
// style: TextStyle(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "5. Tap \"Add\".",
// textAlign: TextAlign.left,
// style: TextStyle(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "That's it! Now you can tap the MIH icon on your home screen to open it quickly.",
// textAlign: TextAlign.left,
// style: TextStyle(
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "If you are still having trouble, please click on the button below to view a video guide.",
// textAlign: TextAlign.left,
// style: TextStyle(
// color: MzanziInnovationHub.of(context)!.theme.errorColor(),
// fontSize: windowFontSize,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// const SizedBox(height: 15),
// SizedBox(
// width: 300,
// height: 50,
// child: MIHButton(
// onTap: () {
// launchSocialUrl(
// Uri.parse(
// "https://www.youtube.com/watch?v=KVK78IV28JY",
// ),
// );
// },
// buttonText: "Video Guide",
// buttonColor:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// textColor:
// MzanziInnovationHub.of(context)!.theme.primaryColor(),
// ),
// ),
// ],
// );
// },
// );
// }
Widget founderBio() { Widget founderBio() {
String bio = ""; String bio = "";
bio += "BSc Computer Science & Information Systems\n"; bio += "BSc Computer Science & Information Systems\n";
@@ -699,40 +550,46 @@ class _MihInfoState extends State<MihInfo> {
spacing: 10, spacing: 10,
runSpacing: 10, runSpacing: 10,
children: [ children: [
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
installMihTrigger(); installMihTrigger();
}, },
buttonText: getInstallButtonText(),
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
getInstallButtonText(),
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
SizedBox( ),
width: 300, MihButton(
height: 50, onPressed: () {
child: MIHButton(
onTap: () {
launchSocialUrl( launchSocialUrl(
Uri.parse( Uri.parse(
"https://www.youtube.com/playlist?list=PLuT35kJIui0H5kXjxNOZlHoOPZbQLr4qh", "https://www.youtube.com/playlist?list=PLuT35kJIui0H5kXjxNOZlHoOPZbQLr4qh",
), ),
); );
}, },
buttonText: "MIH Beginners Guide",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"MIH Beginners Guide",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
]), ]),

View File

@@ -2,7 +2,7 @@ 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/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_button.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_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';
@@ -244,32 +244,40 @@ class _BuildPatientsListState extends State<BuildAccessRequestList> {
runSpacing: 10, runSpacing: 10,
spacing: 10, spacing: 10,
children: [ children: [
SizedBox( MihButton(
width: popUpButtonWidth, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
updateAccessAPICall(index, "declined"); updateAccessAPICall(index, "declined");
}, },
buttonText: "Decline",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.errorColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Decline",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
SizedBox( ),
width: popUpButtonWidth, MihButton(
height: 50, onPressed: () {
child: MIHButton(
onTap: () {
updateAccessAPICall(index, "approved"); updateAccessAPICall(index, "approved");
}, },
buttonText: "Approve",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Approve",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
@@ -283,117 +291,6 @@ class _BuildPatientsListState extends State<BuildAccessRequestList> {
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,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_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_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/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_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';
@@ -37,41 +37,6 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
late double width; late double width;
late double height; late double height;
// Future<void> updateAccessAPICall(int index, String accessType) async {
// var response = await http.put(
// Uri.parse("$baseAPI/access-requests/update/"),
// headers: <String, String>{
// "Content-Type": "application/json; charset=UTF-8"
// },
// body: jsonEncode(<String, dynamic>{
// "business_id": widget.patientAccessList[index].business_id,
// "app_id": widget.patientAccessList[index].app_id,
// "date_time": widget.patientAccessList[index].date_time,
// "access": accessType,
// }),
// );
// if (response.statusCode == 200) {
// //Navigator.of(context).pushNamed('/home');
// Navigator.of(context).pop();
// Navigator.of(context).pop();
// Navigator.of(context).pushNamed(
// '/patient-access-review',
// arguments: widget.signedInUser,
// );
// String message = "";
// if (accessType == "approved") {
// message =
// "You've successfully approved the access request! ${widget.patientAccessList[index].Name} now has access to your profile until ${widget.patientAccessList[index].revoke_date.substring(0, 16).replaceAll("T", " ")}.";
// } else {
// message =
// "You've declined the access request. ${widget.patientAccessList[index].Name} will not have access to your profile.";
// }
// successPopUp(message);
// } else {
// internetConnectionPopUp();
// }
// }
void internetConnectionPopUp() { void internetConnectionPopUp() {
showDialog( showDialog(
context: context, context: context,
@@ -377,11 +342,8 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
runSpacing: 10, runSpacing: 10,
spacing: 10, spacing: 10,
children: [ children: [
SizedBox( MihButton(
width: popUpButtonWidth, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
print("request declined"); print("request declined");
MIHApiCalls.updatePatientAccessAPICall( MIHApiCalls.updatePatientAccessAPICall(
widget.patientAccessList[index].business_id, widget.patientAccessList[index].business_id,
@@ -392,21 +354,24 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
widget.signedInUser, widget.signedInUser,
context, context,
); );
//updateAccessAPICall(index, "declined");
}, },
buttonText: "Decline", buttonColor: MzanziInnovationHub.of(context)!
buttonColor: .theme
MzanziInnovationHub.of(context)!.theme.errorColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"Decline",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
SizedBox( ),
width: popUpButtonWidth, MihButton(
height: 50, onPressed: () {
child: MIHButton(
onTap: () {
print("request approved"); print("request approved");
MIHApiCalls.updatePatientAccessAPICall( MIHApiCalls.updatePatientAccessAPICall(
widget.patientAccessList[index].business_id, widget.patientAccessList[index].business_id,
@@ -417,15 +382,20 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
widget.signedInUser, widget.signedInUser,
context, context,
); );
//updateAccessAPICall(index, "approved");
}, },
buttonText: "Approve",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.successColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"Approve",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

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_layout/mih_action.dart'; 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_button.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_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';
@@ -114,6 +114,7 @@ class _BiometricCheckState extends State<BiometricCheck> {
), ),
alertTitle: "Biometric Authentication Error", alertTitle: "Biometric Authentication Error",
alertBody: Column( alertBody: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Text( Text(
"Hi there! To jump into the MIH Home Package, you'll need to authenticate yourself with your phones biometrics, please set up biometric authentication (like fingerprint, face ID, pattern or pin) on your device first.\n\nIf you have already set up biometric authentication, press \"Authenticate now\" to try again or press \"Set Up Authentication\" to go to your device settings.", "Hi there! To jump into the MIH Home Package, you'll need to authenticate yourself with your phones biometrics, please set up biometric authentication (like fingerprint, face ID, pattern or pin) on your device first.\n\nIf you have already set up biometric authentication, press \"Authenticate now\" to try again or press \"Set Up Authentication\" to go to your device settings.",
@@ -124,38 +125,51 @@ class _BiometricCheckState extends State<BiometricCheck> {
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
Wrap( Wrap(
runAlignment: WrapAlignment.center,
crossAxisAlignment: WrapCrossAlignment.center,
spacing: 10,
runSpacing: 10,
children: [ children: [
SizedBox( MihButton(
width: 300, onPressed: () {
child: MIHButton(
onTap: () {
AppSettings.openAppSettings( AppSettings.openAppSettings(
type: AppSettingsType.security, type: AppSettingsType.security,
); );
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
buttonText: "Set Up Authentication",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: width: 300,
child: Text(
"Set Up Authentication",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
MihButton(
onPressed: () {
Navigator.of(context).pop();
authenticateUser();
},
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Authenticate Now",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
), ),
SizedBox(
width: 300,
child: MIHButton(
onTap: () {
Navigator.of(context).pop();
authenticateUser();
},
buttonText: "Authenticate Now",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
)
], ],
), ),
alertColour: MzanziInnovationHub.of(context)!.theme.errorColor(), alertColour: MzanziInnovationHub.of(context)!.theme.errorColor(),
@@ -209,32 +223,22 @@ class _BiometricCheckState extends State<BiometricCheck> {
color: color:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
), ),
// if (_isBioAuthenticated)
// Icon(
// Icons.lock_open,
// size: 200,
// color: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// ),
const SizedBox(height: 30), const SizedBox(height: 30),
Container( MihButton(
alignment: Alignment.bottomCenter, onPressed: () {
child: SizedBox(
width: 500.0,
height: 50.0,
child: MIHButton(
buttonText: "Authenticate Now",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onTap: () async {
//Check Biometrics
authenticateUser(); authenticateUser();
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Authenticate Now",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
), ),

View File

@@ -2,10 +2,10 @@ import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import '../../main.dart'; import '../../main.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import '../../mih_components/mih_inputs_and_buttons/mih_button.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_action.dart'; import '../../mih_components/mih_layout/mih_action.dart';
import '../../mih_components/mih_layout/mih_body.dart'; import '../../mih_components/mih_layout/mih_body.dart';
@@ -86,102 +86,53 @@ class _ForgotPasswordState extends State<ForgotPassword> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return Dialog( return MihPackageAlert(
child: Stack( alertIcon: Icon(
children: [
Container(
padding: const EdgeInsets.all(10.0),
width: 500.0,
height: 450,
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(
child: Column(
//mainAxisSize: MainAxisSize.max,
children: [
Icon(
Icons.warning_amber_rounded, Icons.warning_amber_rounded,
size: 100, size: 100,
color: MzanziInnovationHub.of(context)! color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
.theme
.secondaryColor(),
), ),
const SizedBox(height: 15), alertTitle: "Password Reset Confirmation",
Text( alertBody: Column(
" Password Reset Confirmation", //mainAxisSize: MainAxisSize.max,
textAlign: TextAlign.center, children: [
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
fontSize: 25.0,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 15),
Padding( Padding(
padding: const EdgeInsets.symmetric(horizontal: 25.0), padding: const EdgeInsets.symmetric(horizontal: 25.0),
child: Text( child: Text(
"Before you reset your password, please be aware that you'll receive an email with a link to confirm your identity and set a new password. Make sure to check your inbox, including spam or junk folders. If you don't receive the email within a few minutes, please try resending the reset request.", "Before you reset your password, please be aware that you'll receive an email with a link to confirm your identity and set a new password. Make sure to check your inbox, including spam or junk folders. If you don't receive the email within a few minutes, please try resending the reset request.",
style: TextStyle( style: TextStyle(
color: MzanziInnovationHub.of(context)! color:
.theme MzanziInnovationHub.of(context)!.theme.secondaryColor(),
.secondaryColor(),
fontSize: 15.0, fontSize: 15.0,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
), ),
const SizedBox(height: 25), const SizedBox(height: 25),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Continue",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onTap: () {
setState(() { setState(() {
acceptWarning = true; acceptWarning = true;
}); });
Navigator.of(context).pop(); Navigator.of(context).pop();
validateInput(); validateInput();
}, },
), buttonColor:
), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
], width: 300,
), child: Text(
), "Continue",
), style: TextStyle(
Positioned( color:
top: 5, MzanziInnovationHub.of(context)!.theme.primaryColor(),
right: 5, fontSize: 20,
width: 50, fontWeight: FontWeight.bold,
height: 50,
child: IconButton(
onPressed: () {
Navigator.pop(context);
},
icon: Icon(
Icons.close,
color: MzanziInnovationHub.of(context)!.theme.errorColor(),
size: 35,
), ),
), ),
), ),
], ],
), ),
alertColour: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
); );
}, },
); );
@@ -308,22 +259,24 @@ class _ForgotPasswordState extends State<ForgotPassword> {
), ),
//spacer //spacer
const SizedBox(height: 30), const SizedBox(height: 25),
// sign in button MihButton(
SizedBox( onPressed: () {
width: 500.0, prePassResteWarning();
height: 50.0, },
child: MIHButton(
buttonText: "Reset Password",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"Reset Password",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
onTap: () { fontSize: 20,
prePassResteWarning(); fontWeight: FontWeight.bold,
}, ),
), ),
), ),
], ],

View File

@@ -1,5 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.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';
@@ -10,7 +11,6 @@ import '../../main.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import 'package:supertokens_flutter/supertokens.dart'; import 'package:supertokens_flutter/supertokens.dart';
import '../../mih_components/mih_inputs_and_buttons/mih_button.dart';
import '../../mih_components/mih_inputs_and_buttons/mih_pass_input.dart'; import '../../mih_components/mih_inputs_and_buttons/mih_pass_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_action.dart'; import '../../mih_components/mih_layout/mih_action.dart';
@@ -245,19 +245,23 @@ class _RegisterState extends State<Register> {
child: MIHAction( child: MIHAction(
icon: Padding( icon: Padding(
padding: const EdgeInsets.all(10.0), padding: const EdgeInsets.all(10.0),
child: SizedBox( child: MihButton(
width: 150, onPressed: () {
child: MIHButton(
onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/about', '/about',
arguments: 0, arguments: 0,
); );
}, },
buttonText: "Install MIH",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Install MIH",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
), ),
@@ -345,7 +349,7 @@ class _RegisterState extends State<Register> {
const SizedBox(height: 10), const SizedBox(height: 10),
//Heading //Heading
Text( Text(
'Create a New Account', 'Create an Account',
style: TextStyle( style: TextStyle(
fontSize: 25, fontSize: 25,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@@ -391,40 +395,28 @@ class _RegisterState extends State<Register> {
), ),
), ),
//spacer //spacer
const SizedBox(height: 30), const SizedBox(height: 25),
// sign up button // sign up button
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Create New Account",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.successColor(),
textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onTap: () async {
validateInput(); validateInput();
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
width: 300,
child: Text(
"Create New Account",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
),
const SizedBox(height: 10), const SizedBox(height: 10),
// SizedBox(
// width: 500.0,
// height: 50.0,
// child: MIHButton(
// buttonText: "Sign In",
// buttonColor: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// textColor: MzanziInnovationHub.of(context)!
// .theme
// .primaryColor(),
// onTap: widget.onTap,
// ),
// ),
// const SizedBox(height: 10),
//register text //register text
SizedBox( SizedBox(
width: 500.0, width: 500.0,

View File

@@ -2,10 +2,9 @@ import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
import '../../main.dart'; import '../../main.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import '../../mih_components/mih_inputs_and_buttons/mih_button.dart';
import '../../mih_components/mih_inputs_and_buttons/mih_pass_input.dart'; import '../../mih_components/mih_inputs_and_buttons/mih_pass_input.dart';
import '../../mih_components/mih_layout/mih_action.dart'; import '../../mih_components/mih_layout/mih_action.dart';
import '../../mih_components/mih_layout/mih_body.dart'; import '../../mih_components/mih_layout/mih_body.dart';
@@ -102,111 +101,6 @@ class _ResetPasswordState extends State<ResetPassword> {
return MzanziInnovationHub.of(context)!.theme.primaryColor(); return MzanziInnovationHub.of(context)!.theme.primaryColor();
} }
void prePassResteWarning() {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Stack(
children: [
Container(
padding: const EdgeInsets.all(10.0),
width: 500.0,
height: 450,
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(
child: Column(
//mainAxisSize: MainAxisSize.max,
children: [
Icon(
Icons.warning_amber_rounded,
size: 100,
color: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
),
const SizedBox(height: 15),
Text(
"Password Reset Confirmation",
textAlign: TextAlign.center,
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
fontSize: 25.0,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 15),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 25.0),
child: Text(
"Before you reset your password, please be aware that you'll receive an email with a link to confirm your identity and set a new password. Make sure to check your inbox, including spam or junk folders. If you don't receive the email within a few minutes, please try resending the reset request.",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
fontSize: 15.0,
fontWeight: FontWeight.bold,
),
),
),
const SizedBox(height: 25),
SizedBox(
width: 500.0,
height: 50.0,
child: MIHButton(
buttonText: "Continue",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onTap: () {
setState(() {
acceptWarning = true;
});
Navigator.of(context).pop();
validateInput();
},
),
),
],
),
),
),
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,
),
),
),
],
),
);
},
);
}
void loginError() { void loginError() {
showDialog( showDialog(
context: context, context: context,
@@ -372,22 +266,25 @@ class _ResetPasswordState extends State<ResetPassword> {
), ),
//spacer //spacer
const SizedBox(height: 30), const SizedBox(height: 25),
// sign in button // sign in button
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0, validateInput();
child: MIHButton( },
buttonText: "Reset Password",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"Reset Password",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
onTap: () { fontSize: 20,
validateInput(); fontWeight: FontWeight.bold,
}, ),
), ),
), ),
], ],

View File

@@ -1,12 +1,11 @@
import 'dart:convert'; import 'dart:convert';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.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';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import '../../main.dart'; import '../../main.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import '../../mih_components/mih_inputs_and_buttons/mih_button.dart';
import '../../mih_components/mih_inputs_and_buttons/mih_pass_input.dart'; import '../../mih_components/mih_inputs_and_buttons/mih_pass_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_action.dart'; import '../../mih_components/mih_layout/mih_action.dart';
@@ -19,7 +18,7 @@ import '../../mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import '../../mih_env/env.dart'; import '../../mih_env/env.dart';
class SignIn extends StatefulWidget { class SignIn extends StatefulWidget {
final Function()? onTap; final Function() onTap;
const SignIn({super.key, required this.onTap}); const SignIn({super.key, required this.onTap});
@override @override
@@ -292,19 +291,23 @@ class _SignInState extends State<SignIn> {
child: MIHAction( child: MIHAction(
icon: Padding( icon: Padding(
padding: const EdgeInsets.all(10.0), padding: const EdgeInsets.all(10.0),
child: SizedBox( child: MihButton(
width: 150, onPressed: () {
child: MIHButton(
onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/about', '/about',
arguments: 0, arguments: 0,
); );
}, },
buttonText: "Install MIH",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Install MIH",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
), ),
@@ -486,36 +489,41 @@ class _SignInState extends State<SignIn> {
//spacer //spacer
const SizedBox(height: 30), const SizedBox(height: 30),
// sign in button // sign in button
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0, validateInput();
child: MIHButton( },
buttonText: "Sign In",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"Sign In",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
onTap: () async { fontSize: 20,
validateInput(); fontWeight: FontWeight.bold,
}, ),
), ),
), ),
//spacer
const SizedBox(height: 10), const SizedBox(height: 10),
SizedBox( MihButton(
width: 500.0, onPressed: widget.onTap,
height: 50.0,
child: MIHButton(
buttonText: "Create New Account",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.successColor(), .successColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"Create New Account",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
onTap: widget.onTap, fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
//spacer //spacer

View File

@@ -1,6 +1,6 @@
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_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_button.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_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';
@@ -162,18 +162,27 @@ class _SimpleCalcState extends State<SimpleCalc> {
if (index == 0) { if (index == 0) {
return Padding( return Padding(
padding: const EdgeInsets.all(4.0), padding: const EdgeInsets.all(4.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
setState(() { setState(() {
userInput = ''; userInput = '';
answer = '0'; answer = '0';
}); });
}, },
buttonText: buttons[index], buttonColor: const Color.fromRGBO(214, 171, 255, 1),
buttonColor: Color.fromRGBO(214, 171, 255, 1), width: 50,
textColor: MzanziInnovationHub.of(context)! height: 50,
borderRadius: 5,
child: Text(
buttons[index],
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
); );
} }
@@ -182,19 +191,28 @@ class _SimpleCalcState extends State<SimpleCalc> {
else if (index == 1) { else if (index == 1) {
return Padding( return Padding(
padding: const EdgeInsets.all(4.0), padding: const EdgeInsets.all(4.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
setState(() { setState(() {
userInput += buttons[index]; userInput += buttons[index];
}); });
}, },
buttonText: buttons[index],
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.messageTextColor(), .messageTextColor(),
textColor: MzanziInnovationHub.of(context)! width: 50,
height: 50,
borderRadius: 5,
child: Text(
buttons[index],
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
); );
} }
@@ -202,19 +220,28 @@ class _SimpleCalcState extends State<SimpleCalc> {
else if (index == 2) { else if (index == 2) {
return Padding( return Padding(
padding: const EdgeInsets.all(4.0), padding: const EdgeInsets.all(4.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
setState(() { setState(() {
userInput += buttons[index]; userInput += buttons[index];
}); });
}, },
buttonText: buttons[index],
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.messageTextColor(), .messageTextColor(),
textColor: MzanziInnovationHub.of(context)! width: 50,
height: 50,
borderRadius: 5,
child: Text(
buttons[index],
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
); );
} }
@@ -225,8 +252,8 @@ class _SimpleCalcState extends State<SimpleCalc> {
index == 15) { index == 15) {
return Padding( return Padding(
padding: const EdgeInsets.all(4.0), padding: const EdgeInsets.all(4.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
if (answer == "0") { if (answer == "0") {
setState(() { setState(() {
userInput += buttons[index]; userInput += buttons[index];
@@ -238,17 +265,23 @@ class _SimpleCalcState extends State<SimpleCalc> {
userInput += buttons[index]; userInput += buttons[index];
}); });
} }
// setState(() {
// userInput += buttons[index];
// });
}, },
buttonText: buttons[index],
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.messageTextColor(), .messageTextColor(),
textColor: MzanziInnovationHub.of(context)! width: 50,
height: 50,
borderRadius: 5,
child: Text(
buttons[index],
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
); );
} }
@@ -257,8 +290,8 @@ class _SimpleCalcState extends State<SimpleCalc> {
else if (index == 18) { else if (index == 18) {
return Padding( return Padding(
padding: const EdgeInsets.all(4.0), padding: const EdgeInsets.all(4.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
setState(() { setState(() {
if (userInput.length == 1) { if (userInput.length == 1) {
userInput = '0'; userInput = '0';
@@ -270,38 +303,50 @@ class _SimpleCalcState extends State<SimpleCalc> {
userInput = userInput =
userInput.substring(0, userInput.length - 1); userInput.substring(0, userInput.length - 1);
} }
// userInput =
// userInput.substring(0, userInput.length - 1);
equalPressed(); equalPressed();
}); });
}, },
buttonText: buttons[index],
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.errorColor(), MzanziInnovationHub.of(context)!.theme.errorColor(),
textColor: MzanziInnovationHub.of(context)! width: 50,
height: 50,
borderRadius: 5,
child: Icon(
Icons.backspace,
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
), ),
),
); );
} }
// Equal_to Button // Equal_to Button
else if (index == 19) { else if (index == 19) {
return Padding( return Padding(
padding: const EdgeInsets.all(4.0), padding: const EdgeInsets.all(4.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
setState(() { setState(() {
equalPressed(); equalPressed();
userInput = answer; userInput = answer;
}); });
}, },
buttonText: buttons[index],
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.successColor(), .successColor(),
textColor: MzanziInnovationHub.of(context)! width: 50,
height: 50,
borderRadius: 5,
child: Text(
buttons[index],
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
); );
} }
@@ -309,20 +354,29 @@ class _SimpleCalcState extends State<SimpleCalc> {
else { else {
return Padding( return Padding(
padding: const EdgeInsets.all(4.0), padding: const EdgeInsets.all(4.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
setState(() { setState(() {
userInput += buttons[index]; userInput += buttons[index];
equalPressed(); equalPressed();
}); });
}, },
buttonText: buttons[index],
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 50,
height: 50,
borderRadius: 5,
child: Text(
buttons[index],
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
); );
} }

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_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_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_package_components/mih_button.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_package_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_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';
@@ -330,32 +330,46 @@ class _TipCalcState extends State<TipCalc> {
); );
}, },
), ),
SizedBox( Wrap(
width: double.infinity, spacing: 10,
height: 50, runSpacing: 10,
child: MIHButton( children: [
onTap: () { MihButton(
onPressed: () {
validateInput(); validateInput();
}, },
buttonText: "Calculate",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Calculate",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
const SizedBox(height: 10), ),
SizedBox( MihButton(
width: double.infinity, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
clearInput(); clearInput();
}, },
buttonText: "Clear", buttonColor:
buttonColor: MzanziInnovationHub.of(context)!.theme.errorColor(), MzanziInnovationHub.of(context)!.theme.errorColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Clear",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
),
],
),
], ],
), ),
); );

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_button.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_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_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';
@@ -246,32 +246,40 @@ class _BuildPatientsListState extends State<BuildAccessRequestList> {
runSpacing: 10, runSpacing: 10,
spacing: 10, spacing: 10,
children: [ children: [
SizedBox( MihButton(
width: popUpButtonWidth, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
updateAccessAPICall(index, "declined"); updateAccessAPICall(index, "declined");
}, },
buttonText: "Decline",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.errorColor(), MzanziInnovationHub.of(context)!.theme.errorColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Decline",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
), ),
), ),
SizedBox( ),
width: popUpButtonWidth, MihButton(
height: 50, onPressed: () {
child: MIHButton(
onTap: () {
updateAccessAPICall(index, "approved"); updateAccessAPICall(index, "approved");
}, },
buttonText: "Approve",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Approve",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -1,11 +1,11 @@
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_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_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_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_package_components/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_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';
@@ -428,18 +428,22 @@ class _BuildAppointmentListState extends State<BuildAppointmentList> {
runSpacing: 10, runSpacing: 10,
spacing: 10, spacing: 10,
children: [ children: [
SizedBox( MihButton(
width: 500, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
updateAppointmentCall(index); updateAppointmentCall(index);
}, },
buttonText: "Update",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -1,11 +1,11 @@
import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.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_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_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_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_button.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_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_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
@@ -152,18 +152,21 @@ class _PatientAccessRequestState extends State<Appointments> {
), ),
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
SizedBox( MihButton(
width: 500, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
addAppointmentCall(); addAppointmentCall();
}, },
buttonText: "Add",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: width: 300,
child: Text(
"Add",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

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_inputs_and_buttons/mih_button.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.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_package_tool_body.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_package.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_package_action.dart';
@@ -116,14 +116,21 @@ class _MIHProfileGetterState extends State<MIHProfileGetter> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
MIHButton( MihButton(
onTap: () { onPressed: () {
Navigator.of(context).popAndPushNamed("/"); Navigator.of(context).popAndPushNamed("/");
}, },
buttonText: "Refresh",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Refresh",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
Padding( Padding(

View File

@@ -2,9 +2,9 @@ import 'dart:convert';
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_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_package_components/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_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';
@@ -211,16 +211,8 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
enableSearch: false, enableSearch: false,
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Update",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
if (isRequiredFieldsCaptured()) { if (isRequiredFieldsCaptured()) {
updateEmployeeAPICall(index); updateEmployeeAPICall(index);
} else { } else {
@@ -232,8 +224,18 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
), ),
), ),

View File

@@ -1,9 +1,9 @@
import 'dart:convert'; 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_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_package_components/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_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';
@@ -162,16 +162,8 @@ class _BuildUserListState extends State<BuildUserList> {
enableSearch: false, enableSearch: false,
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Add",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
if (isRequiredFieldsCaptured()) { if (isRequiredFieldsCaptured()) {
createBusinessUserAPICall(index); createBusinessUserAPICall(index);
} else { } else {
@@ -184,6 +176,17 @@ class _BuildUserListState extends State<BuildUserList> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Add",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),

View File

@@ -4,9 +4,9 @@ import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_business_details_apis.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_business_details_apis.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_apis/mih_location_api.dart'; 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_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_button.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_package_tool_body.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_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';
@@ -337,16 +337,8 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
), ),
), ),
const SizedBox(width: 10.0), const SizedBox(width: 10.0),
SizedBox( MihButton(
width: 100.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Set",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
MIHLocationAPI().getGPSPosition(context).then((position) { MIHLocationAPI().getGPSPosition(context).then((position) {
if (position != null) { if (position != null) {
setState(() { setState(() {
@@ -356,22 +348,34 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
} }
}); });
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 100,
child: Text(
"Set",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Update",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
submitForm(); submitForm();
}, },
buttonColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -1,595 +0,0 @@
import 'dart:convert';
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_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_dropdown_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_layout/mih_single_child_scroll.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_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_env/env.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:supertokens_flutter/http.dart' as http;
class MihBusinessProfile extends StatefulWidget {
final BusinessArguments arguments;
const MihBusinessProfile({
super.key,
required this.arguments,
});
@override
State<MihBusinessProfile> createState() => _MihBusinessProfileState();
}
class _MihBusinessProfileState extends State<MihBusinessProfile> {
final FocusNode _focusNode = FocusNode();
final baseAPI = AppEnviroment.baseApiUrl;
final nameController = TextEditingController();
final typeController = TextEditingController();
final regController = TextEditingController();
final logonameController = TextEditingController();
final fnameController = TextEditingController();
final lnameController = TextEditingController();
final titleController = TextEditingController();
final signtureController = TextEditingController();
final accessController = TextEditingController();
final contactController = TextEditingController();
final emailController = TextEditingController();
final locationController = TextEditingController();
final practiceNoController = TextEditingController();
final vatNoController = TextEditingController();
late PlatformFile? selectedLogo = null;
late PlatformFile? selectedSignature = null;
PlatformFile? logoFile;
ImageProvider<Object>? logoPreview = null;
final ValueNotifier<String> busType = ValueNotifier("");
late String business_id;
late String oldLogoPath;
late String oldSigPath;
String logoUri = "";
late String env;
Future<void> updateBusinessProfileAPICall(String business_id) async {
print("inside update business profile api call");
showDialog(
context: context,
builder: (context) {
return const Mihloadingcircle();
},
);
var response = await http.put(
Uri.parse("$baseAPI/business/update/"),
headers: <String, String>{
"Content-Type": "application/json; charset=UTF-8"
},
body: jsonEncode(<String, dynamic>{
"business_id": business_id,
"Name": nameController.text,
"type": typeController.text,
"registration_no": regController.text,
"logo_name": logonameController.text,
"logo_path":
"${widget.arguments.signedInUser.app_id}/business_files/${logonameController.text}",
"contact_no": contactController.text,
"bus_email": emailController.text,
"gps_location": locationController.text,
"practice_no": practiceNoController.text,
"vat_no": vatNoController.text,
}),
);
if (response.statusCode == 200) {
//var businessResponse = jsonDecode(response.body);
//print(selectedLogo != null);
if (logoFile != null) {
uploadSelectedFile(logoFile);
}
updateBusinessUserAPICall(business_id);
} else {
internetConnectionPopUp();
}
}
Future<void> updateBusinessUserAPICall(String business_id) async {
var response = await http.put(
Uri.parse("$baseAPI/business-user/update/"),
headers: <String, String>{
"Content-Type": "application/json; charset=UTF-8"
},
body: jsonEncode(<String, dynamic>{
"business_id": business_id,
"app_id": widget.arguments.signedInUser.app_id,
"signature": signtureController.text,
"sig_path":
"${widget.arguments.signedInUser.app_id}/business_files/${signtureController.text}",
"title": titleController.text,
"access": accessController.text,
}),
);
if (response.statusCode == 200) {
if (selectedSignature != null) {
uploadSelectedFile(selectedSignature);
deleteFileApiCall(oldSigPath);
}
Navigator.of(context).pop();
Navigator.of(context).pop();
Navigator.of(context).pop();
Navigator.of(context).pushNamed(
'/',
arguments: AuthArguments(
false,
false,
),
);
String message =
"Your business profile is now live! You can now start connecting with customers and growing your business.";
successPopUp(message);
} else {
internetConnectionPopUp();
}
}
Future<void> uploadSelectedFile(PlatformFile? file) async {
print("Inside upload selected file");
var response = await MihFileApi.uploadFile(
widget.arguments.signedInUser.app_id,
env,
"business_files",
file,
context,
);
if (response == 200) {
deleteFileApiCall(oldLogoPath);
} else {
internetConnectionPopUp();
}
}
Future<void> deleteFileApiCall(String filePath) async {
// delete file from minio
var response = await MihFileApi.deleteFile(
widget.arguments.signedInUser.app_id,
env,
"business_files",
filePath.split("/").last,
context,
);
if (response == 200) {
//SQL delete
} else {
internetConnectionPopUp();
}
}
bool isFullAccess() {
if (widget.arguments.businessUser!.access == "Partial") {
return false;
} else {
return true;
}
}
bool validEmail() {
String text = emailController.text;
var regex = RegExp(r'^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$');
return regex.hasMatch(text);
}
bool isFieldsFilled() {
if (nameController.text.isEmpty ||
typeController.text.isEmpty ||
regController.text.isEmpty ||
logonameController.text.isEmpty ||
fnameController.text.isEmpty ||
lnameController.text.isEmpty ||
titleController.text.isEmpty ||
signtureController.text.isEmpty ||
accessController.text.isEmpty ||
contactController.text.isEmpty ||
emailController.text.isEmpty) {
return false;
} else {
return true;
}
}
void typeSelected() {
if (typeController.text.isNotEmpty) {
busType.value = typeController.text;
} else {
busType.value = "";
}
}
void submitForm(String business_id) {
if (!validEmail()) {
emailError();
} else if (isFieldsFilled()) {
print("inside submit form mthod");
updateBusinessProfileAPICall(business_id);
} else {
showDialog(
context: context,
builder: (context) {
return const MIHErrorMessage(errorType: "Input Error");
},
);
}
}
void successPopUp(String message) {
showDialog(
context: context,
builder: (context) {
return MIHSuccessMessage(
successType: "Success",
successMessage: message,
);
},
);
}
void emailError() {
showDialog(
context: context,
builder: (context) {
return const MIHErrorMessage(errorType: "Invalid Email");
},
);
}
void internetConnectionPopUp() {
showDialog(
context: context,
builder: (context) {
return const MIHErrorMessage(errorType: "Internet Connection");
},
);
}
@override
void dispose() {
nameController.dispose();
typeController.dispose();
regController.dispose();
logonameController.dispose();
fnameController.dispose();
lnameController.dispose();
titleController.dispose();
signtureController.dispose();
accessController.dispose();
contactController.dispose();
emailController.dispose();
locationController.dispose();
practiceNoController.dispose();
vatNoController.dispose();
_focusNode.dispose();
super.dispose();
}
@override
void initState() {
typeController.addListener(typeSelected);
setState(() {
titleController.text = widget.arguments.businessUser!.title;
fnameController.text = widget.arguments.signedInUser.fname;
lnameController.text = widget.arguments.signedInUser.lname;
signtureController.text = widget.arguments.businessUser!.signature;
titleController.text = widget.arguments.businessUser!.title;
accessController.text = widget.arguments.businessUser!.access;
oldSigPath = widget.arguments.businessUser!.sig_path;
business_id = widget.arguments.business!.business_id;
regController.text = widget.arguments.business!.registration_no;
nameController.text = widget.arguments.business!.Name;
typeController.text = widget.arguments.business!.type;
logonameController.text = widget.arguments.business!.logo_name;
oldLogoPath = widget.arguments.business!.logo_path;
contactController.text = widget.arguments.business!.contact_no;
emailController.text = widget.arguments.business!.bus_email;
locationController.text = widget.arguments.business!.gps_location;
practiceNoController.text = widget.arguments.business!.practice_no;
vatNoController.text = widget.arguments.business!.vat_no;
});
MihFileApi.getMinioFileUrl(
widget.arguments.business!.logo_path,
context,
).then((value) {
setState(() {
logoUri = value;
});
logoPreview = NetworkImage(logoUri);
});
if (AppEnviroment.getEnv() == "Prod") {
env = "Prod";
} else {
env = "Dev";
}
super.initState();
}
@override
Widget build(BuildContext context) {
return MihPackageToolBody(
borderOn: true,
bodyItem: getBody(),
);
}
Widget getBody() {
return MihSingleChildScroll(
child: KeyboardListener(
focusNode: _focusNode,
autofocus: true,
onKeyEvent: (event) async {
if (event is KeyDownEvent &&
event.logicalKey == LogicalKeyboardKey.enter) {
//print(business_id);
submitForm(business_id);
}
},
child: Column(
children: [
Visibility(
visible: isFullAccess(),
child: Column(
children: [
const Text(
"Business Profile",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 25,
),
),
Divider(
color: MzanziInnovationHub.of(context)
?.theme
.secondaryColor()),
const SizedBox(height: 10.0),
MihCircleAvatar(
imageFile: logoPreview,
fileNameController: logonameController,
userSelectedfile: logoFile,
width: 155,
editable: true,
frameColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
onChange: (newProPic) {
setState(() {
logoFile = newProPic;
});
print("logoFile: ${logoFile?.bytes}");
},
backgroundColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
),
const SizedBox(height: 10.0),
MIHFileField(
controller: logonameController,
hintText: "Logo",
editable: false,
required: true,
onPressed: () async {
FilePickerResult? result =
await FilePicker.platform.pickFiles(
type: FileType.custom,
allowedExtensions: ['jpg', 'png'],
);
if (result == null) return;
final selectedFile = result.files.first;
setState(() {
selectedLogo = selectedFile;
});
setState(() {
logonameController.text = selectedFile.name;
});
},
),
const SizedBox(height: 10.0),
MIHTextField(
controller: regController,
hintText: "Registration No.",
editable: true,
required: true,
),
const SizedBox(height: 10.0),
MIHTextField(
controller: nameController,
hintText: "Business Name",
editable: true,
required: true,
),
const SizedBox(height: 10.0),
MIHDropdownField(
controller: typeController,
hintText: "Business Type",
dropdownOptions: const ["Doctors Office", "Other"],
required: true,
editable: true,
enableSearch: false,
),
const SizedBox(height: 10.0),
ValueListenableBuilder(
valueListenable: busType,
builder:
(BuildContext context, String value, Widget? child) {
return Visibility(
visible: value == "Doctors Office",
child: MIHTextField(
controller: practiceNoController,
hintText: "Practice Number",
editable: true,
required: true,
),
);
},
),
const SizedBox(height: 10.0),
MIHTextField(
controller: vatNoController,
hintText: "VAT Number",
editable: true,
required: true,
),
const SizedBox(height: 10.0),
MIHTextField(
controller: contactController,
hintText: "Contact Number",
editable: true,
required: true,
),
const SizedBox(height: 10.0),
MIHTextField(
controller: emailController,
hintText: "Email",
editable: true,
required: true,
),
const SizedBox(height: 10.0),
Row(
children: [
Flexible(
child: MIHTextField(
controller: locationController,
hintText: "Location",
editable: false,
required: false,
),
),
const SizedBox(width: 10.0),
SizedBox(
width: 100.0,
height: 50.0,
child: MIHButton(
buttonText: "Set",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onTap: () {
MIHLocationAPI()
.getGPSPosition(context)
.then((position) {
if (position != null) {
setState(() {
locationController.text =
"${position.latitude}, ${position.longitude}";
});
}
});
},
),
),
],
),
const SizedBox(height: 15.0),
],
),
),
Column(
children: [
//const SizedBox(height: 15.0),
const Text(
"My Business User",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 25,
),
),
Divider(
color:
MzanziInnovationHub.of(context)?.theme.secondaryColor(),
),
const SizedBox(height: 10.0),
MIHDropdownField(
controller: titleController,
hintText: "Title",
dropdownOptions: const ["Doctor", "Assistant", "Other"],
required: true,
editable: true,
enableSearch: false,
),
const SizedBox(height: 10.0),
MIHTextField(
controller: fnameController,
hintText: "Name",
editable: false,
required: true,
),
const SizedBox(height: 10.0),
MIHTextField(
controller: lnameController,
hintText: "Surname",
editable: false,
required: true,
),
const SizedBox(height: 10.0),
MIHFileField(
controller: signtureController,
hintText: "Signature",
editable: false,
required: true,
onPressed: () async {
FilePickerResult? result =
await FilePicker.platform.pickFiles(
type: FileType.custom,
allowedExtensions: ['jpg', 'png', 'pdf'],
);
if (result == null) return;
final selectedFile = result.files.first;
setState(() {
selectedSignature = selectedFile;
});
setState(() {
signtureController.text = selectedFile.name;
});
},
),
const SizedBox(height: 15.0),
MIHDropdownField(
controller: accessController,
hintText: "Access",
dropdownOptions: const ["Full", "Partial"],
required: true,
editable: false,
enableSearch: false,
),
const SizedBox(height: 30.0),
SizedBox(
width: 500.0,
height: 50.0,
child: MIHButton(
buttonText: "Update",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
//print(business_id);
print("submit form call");
submitForm(business_id);
},
),
),
],
),
],
),
),
);
}
}

View File

@@ -3,10 +3,10 @@ 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_file_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_file_api.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_my_business_user_apis.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_my_business_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_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_button.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_package_tool_body.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_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';
@@ -318,17 +318,20 @@ class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
), ),
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Update",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
submitForm(); submitForm();
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -6,13 +6,13 @@ import 'package:mzansi_innovation_hub/mih_apis/mih_business_details_apis.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_apis/mih_location_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_location_api.dart';
import 'package:mzansi_innovation_hub/mih_apis/mih_my_business_user_apis.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_my_business_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_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_action.dart'; 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_button.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_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -452,18 +452,8 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
), ),
), ),
const SizedBox(width: 10.0), const SizedBox(width: 10.0),
SizedBox( MihButton(
width: 80.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Set",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onTap: () {
MIHLocationAPI() MIHLocationAPI()
.getGPSPosition(context) .getGPSPosition(context)
.then((position) { .then((position) {
@@ -475,6 +465,19 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
} }
}); });
}, },
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
width: 100,
child: Text(
"Set",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
@@ -520,60 +523,6 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
editable: false, editable: false,
required: true, required: true,
), ),
const SizedBox(height: 10.0),
// const SizedBox(height: 10),
// Container(
// width: 300,
// alignment: Alignment.topLeft,
// child: const Text(
// "Signature:",
// style: TextStyle(
// fontSize: 15,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// MihImageDisplay(
// imageFile: signaturePreview,
// width: 300,
// editable: true,
// fileNameController: signtureController,
// userSelectedfile: selectedSignature,
// onChange: (selectedFile) {
// setState(() {
// selectedSignature = selectedFile;
// });
// },
// ),
// const SizedBox(height: 10.0),
// MIHTextField(
// controller: signtureController,
// hintText: "Selected Signature File Name",
// editable: false,
// required: true,
// ),
const SizedBox(height: 10.0),
// MIHFileField(
// controller: signtureController,
// hintText: "Signature",
// editable: false,
// required: true,
// onPressed: () async {
// FilePickerResult? result =
// await FilePicker.platform.pickFiles(
// type: FileType.custom,
// allowedExtensions: ['jpg', 'png', 'pdf'],
// );
// if (result == null) return;
// final selectedFile = result.files.first;
// setState(() {
// selectedSignature = selectedFile;
// });
// setState(() {
// signtureController.text = selectedFile.name;
// });
// },
// ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
MIHDropdownField( MIHDropdownField(
controller: accessController, controller: accessController,
@@ -584,18 +533,21 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
enableSearch: false, enableSearch: false,
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Add",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
submitForm(); submitForm();
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Add",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -2,11 +2,11 @@ import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/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_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_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_pop_up_messages/mih_delete_message.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_delete_message.dart';
@@ -212,16 +212,8 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
enableSearch: false, enableSearch: false,
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Update",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
if (isRequiredFieldsCaptured()) { if (isRequiredFieldsCaptured()) {
updateEmployeeAPICall(index); updateEmployeeAPICall(index);
} else { } else {
@@ -233,144 +225,22 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
), ),
), ),
); );
// 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(
// "Employee Details",
// 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: "First Name",
// editable: false,
// required: true,
// ),
// const SizedBox(height: 10.0),
// MIHTextField(
// controller: lnameController,
// hintText: "Surname",
// 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: "Update",
// buttonColor: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// textColor: MzanziInnovationHub.of(context)!
// .theme
// .primaryColor(),
// onTap: () {
// if (isRequiredFieldsCaptured()) {
// updateEmployeeAPICall(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,
// ),
// ),
// ),
// Positioned(
// top: 5,
// left: 5,
// width: 50,
// height: 50,
// child: IconButton(
// onPressed: () {
// showDeleteWarning(index);
// },
// icon: Icon(
// Icons.delete,
// color:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// size: 35,
// ),
// ),
// ),
// ],
// ),
// ),
// );
} }
void showDeleteWarning(int index) { void showDeleteWarning(int index) {

View File

@@ -1,11 +1,11 @@
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_button.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_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_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_pop_up_messages/mih_error_message.dart'; import '../../../../mih_components/mih_pop_up_messages/mih_error_message.dart';
@@ -163,16 +163,8 @@ class _BuildUserListState extends State<BuildUserList> {
enableSearch: false, enableSearch: false,
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Add",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
if (isRequiredFieldsCaptured()) { if (isRequiredFieldsCaptured()) {
createBusinessUserAPICall(index); createBusinessUserAPICall(index);
} else { } else {
@@ -185,6 +177,17 @@ class _BuildUserListState extends State<BuildUserList> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Add",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),

View File

@@ -3,12 +3,11 @@ import 'dart:convert';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
import '../../../main.dart'; import '../../../main.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import 'package:supertokens_flutter/supertokens.dart'; import 'package:supertokens_flutter/supertokens.dart';
import 'package:http/http.dart' as http2; import 'package:http/http.dart' as http2;
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
@@ -514,20 +513,22 @@ class _BusinessAboutState extends State<BusinessAbout> {
// ), // ),
//const SizedBox(height: 15.0), //const SizedBox(height: 15.0),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Update",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
//print(business_id);
submitForm(business_id); submitForm(business_id);
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -3,13 +3,13 @@ import 'dart:convert';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
import '../../../main.dart'; import '../../../main.dart';
import 'package:supertokens_flutter/http.dart' as http; import 'package:supertokens_flutter/http.dart' as http;
import 'package:supertokens_flutter/supertokens.dart'; import 'package:supertokens_flutter/supertokens.dart';
import 'package:http/http.dart' as http2; import 'package:http/http.dart' as http2;
import '../../../mih_apis/mih_location_api.dart'; import '../../../mih_apis/mih_location_api.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_button.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_dropdown_input.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_file_input.dart';
import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart'; import '../../../mih_components/mih_inputs_and_buttons/mih_text_input.dart';
@@ -442,18 +442,8 @@ class _BusinessDetailsState extends State<BusinessDetails> {
), ),
), ),
const SizedBox(width: 10.0), const SizedBox(width: 10.0),
SizedBox( MihButton(
width: 80.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Set",
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
onTap: () {
MIHLocationAPI() MIHLocationAPI()
.getGPSPosition(context) .getGPSPosition(context)
.then((position) { .then((position) {
@@ -465,6 +455,19 @@ class _BusinessDetailsState extends State<BusinessDetails> {
} }
}); });
}, },
buttonColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
width: 100,
child: Text(
"Set",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
@@ -576,19 +579,21 @@ class _BusinessDetailsState extends State<BusinessDetails> {
// ), // ),
//const SizedBox(height: 15.0), //const SizedBox(height: 15.0),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Update",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
//print(business_id);
submitForm(business_id); submitForm(business_id);
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Add",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -3,10 +3,10 @@ import 'dart:convert';
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_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_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_button.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_package_tool_body.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_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';
@@ -374,17 +374,20 @@ class _MihPersonalProfileState extends State<MihPersonalProfile> {
], ],
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Update",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
submitForm(); submitForm();
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

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_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_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_button.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_package_tool_body.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_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
@@ -55,33 +55,41 @@ class _MihPersonalSettingsState extends State<MihPersonalSettings> {
spacing: 10, spacing: 10,
runSpacing: 10, runSpacing: 10,
children: [ children: [
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
MihUserApis.deleteAccount( MihUserApis.deleteAccount(
widget.signedInUser.app_id, context); widget.signedInUser.app_id, context);
}, },
buttonText: "Delete",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.errorColor(), MzanziInnovationHub.of(context)!.theme.errorColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
),
),
SizedBox(
width: 300, width: 300,
height: 50, child: Text(
child: MIHButton( "Delete",
onTap: () { style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
MihButton(
onPressed: () {
Navigator.pop(context); Navigator.pop(context);
}, },
buttonText: "Cancel",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.errorColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Cancel",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
@@ -135,18 +143,21 @@ class _MihPersonalSettingsState extends State<MihPersonalSettings> {
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
), ),
), ),
SizedBox( MihButton(
width: 300.0, onPressed: () {
height: 50.0,
child: MIHButton(
buttonText: "Delete Account",
buttonColor:
MzanziInnovationHub.of(context)!.theme.errorColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
deleteAccountPopUp(context); deleteAccountPopUp(context);
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Delete Account",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -1,9 +1,9 @@
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_mzansi_wallet_apis.dart'; 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_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_package_components/mih_button.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_package_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_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';
@@ -81,24 +81,28 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
), ),
), ),
const SizedBox(width: 10), const SizedBox(width: 10),
MIHButton( MihButton(
onTap: () async { onPressed: () {
openscanner(); openscanner();
}, },
buttonText: "Scan",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 100,
child: Text(
"Scan",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
], ],
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
if (_cardNumberController.text == "") { if (_cardNumberController.text == "") {
showDialog( showDialog(
context: context, context: context,
@@ -119,11 +123,16 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
); );
} }
}, },
buttonText: "Update",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
@@ -176,11 +185,8 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
const SizedBox( const SizedBox(
height: 15, height: 15,
), ),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
MIHMzansiWalletApis.updateLoyaltyCardAPICall( MIHMzansiWalletApis.updateLoyaltyCardAPICall(
widget.signedInUser, widget.signedInUser,
widget.cardList[index].idloyalty_cards, widget.cardList[index].idloyalty_cards,
@@ -192,11 +198,17 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
ctxt, ctxt,
); );
}, },
buttonText: "Add",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
child: Text(
"Add",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
@@ -232,11 +244,8 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
const SizedBox( const SizedBox(
height: 15, height: 15,
), ),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
MIHMzansiWalletApis.updateLoyaltyCardAPICall( MIHMzansiWalletApis.updateLoyaltyCardAPICall(
widget.signedInUser, widget.signedInUser,
widget.cardList[index].idloyalty_cards, widget.cardList[index].idloyalty_cards,
@@ -248,11 +257,17 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
ctxt, ctxt,
); );
}, },
buttonText: "Remove",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
child: Text(
"Remove",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -1,9 +1,9 @@
import 'dart:async'; import 'dart:async';
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:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mobile_scanner/mobile_scanner.dart'; import 'package:mobile_scanner/mobile_scanner.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
class MihBarcodeScanner extends StatefulWidget { class MihBarcodeScanner extends StatefulWidget {
final TextEditingController cardNumberController; final TextEditingController cardNumberController;
@@ -120,17 +120,25 @@ class _MihBarcodeScannerState extends State<MihBarcodeScanner>
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.all(10.0), padding: const EdgeInsets.all(10.0),
child: MIHButton( child: MihButton(
onTap: () { onPressed: () {
_scannerController.stop(); _scannerController.stop();
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
buttonText: "Cancel",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: width: 100,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Cancel",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
), ),
// GestureDetector( // GestureDetector(

View File

@@ -1,12 +1,12 @@
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_mzansi_wallet_apis.dart'; 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_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_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_package_components/mih_button.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_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_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
@@ -184,24 +184,26 @@ class _MihCardsState extends State<MihCards> {
), ),
), ),
const SizedBox(width: 10), const SizedBox(width: 10),
MIHButton( MihButton(
onTap: () async { onPressed: () {},
openscanner();
},
buttonText: "Scan",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 100,
child: Text(
"Scan",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
], ],
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
if (shopController.text == "" || if (shopController.text == "" ||
cardNumberController.text == "") { cardNumberController.text == "") {
showDialog( showDialog(
@@ -224,11 +226,16 @@ class _MihCardsState extends State<MihCards> {
); );
} }
}, },
buttonText: "Add",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Add",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -2,10 +2,10 @@ import 'dart:convert';
import 'package:mzansi_innovation_hub/main.dart'; 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_button.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_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_package_components/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_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';
@@ -208,19 +208,9 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
required: true, required: true,
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Book",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
//print("here1");
bool filled = isAppointmentFieldsFilled(); bool filled = isAppointmentFieldsFilled();
//print("fields filled: $filled");
if (filled) { if (filled) {
//print("here2"); //print("here2");
submitApointment(index); submitApointment(index);
@@ -234,8 +224,18 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Book",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
), ),
), ),
@@ -427,39 +427,10 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
), ),
// const SizedBox(height: 15.0), // const SizedBox(height: 15.0),
Wrap(runSpacing: 10, spacing: 10, children: [ Wrap(runSpacing: 10, spacing: 10, children: [
// Visibility(
// visible: hasAccess,
// child: SizedBox(
// width: 300,
// height: 50,
// child: MIHButton(
// buttonText: "Book Appointment",
// buttonColor:
// MzanziInnovationHub.of(context)!.theme.secondaryColor(),
// textColor:
// MzanziInnovationHub.of(context)!.theme.primaryColor(),
// onTap: () {
// if (hasAccess) {
// appointmentPopUp(index);
// } else {
// noAccessWarning();
// }
// },
// ),
// ),
// ),
Visibility( Visibility(
visible: hasAccess, visible: hasAccess,
child: SizedBox( child: MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "View Patient Profile",
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
if (hasAccess) { if (hasAccess) {
Navigator.of(context) Navigator.of(context)
.pushNamed('/patient-manager/patient', .pushNamed('/patient-manager/patient',
@@ -474,22 +445,24 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
noAccessWarning(); noAccessWarning();
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
width: 300,
child: Text(
"View Profile",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
), ),
Visibility( Visibility(
visible: !hasAccess && accessStatus == "No Access", visible: !hasAccess && accessStatus == "No Access",
child: SizedBox( child: MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Request Access",
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
//print("Send access Request...");
MIHApiCalls.addPatientAccessAPICall( MIHApiCalls.addPatientAccessAPICall(
widget.business!.business_id, widget.business!.business_id,
widget.patients[index].app_id, widget.patients[index].app_id,
@@ -504,22 +477,24 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
context, context,
); );
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
width: 300,
child: Text(
"Request Access",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
), ),
Visibility( Visibility(
visible: !hasAccess && accessStatus == "declined", visible: !hasAccess && accessStatus == "declined",
child: SizedBox( child: MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Re-apply",
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
// print("Send rewaply access Request...");
MIHApiCalls.reapplyPatientAccessAPICall( MIHApiCalls.reapplyPatientAccessAPICall(
widget.business!.business_id, widget.business!.business_id,
widget.patients[index].app_id, widget.patients[index].app_id,
@@ -532,6 +507,17 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
context, context,
); );
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Re-apply",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
), ),

View File

@@ -1,10 +1,10 @@
import 'package:mzansi_innovation_hub/main.dart'; 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_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_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_package_components/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_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';
@@ -141,23 +141,11 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
required: true, required: true,
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Book",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
//print("here1");
bool filled = isAppointmentFieldsFilled(); bool filled = isAppointmentFieldsFilled();
//print("fields filled: $filled");
if (filled) { if (filled) {
//print("here2");
submitApointment(index); submitApointment(index);
//print("here3");
} else { } else {
showDialog( showDialog(
context: context, context: context,
@@ -167,8 +155,18 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Book Appointment",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
), ),
), ),
@@ -246,31 +244,25 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
Wrap(runSpacing: 10, spacing: 10, children: [ Wrap(runSpacing: 10, spacing: 10, children: [
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Book Appointment",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
appointmentPopUp(index); appointmentPopUp(index);
}, },
),
),
SizedBox(
width: 300,
height: 50,
child: MIHButton(
buttonText: "View Patient Profile",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
child: Text(
"Book Appointment",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () { fontSize: 20,
// Navigator.of(context).pop(); fontWeight: FontWeight.bold,
),
),
),
MihButton(
onPressed: () {
Navigator.of(context).pushNamed('/patient-manager/patient', Navigator.of(context).pushNamed('/patient-manager/patient',
arguments: PatientViewArguments( arguments: PatientViewArguments(
widget.signedInUser, widget.signedInUser,
@@ -280,6 +272,17 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
"business", "business",
)); ));
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(),
width: 300,
child: Text(
"View Medical Records",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
]) ])

View File

@@ -2,12 +2,12 @@ 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_calendar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_calendar.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_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_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_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_button.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_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_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
@@ -240,51 +240,60 @@ class _WaitingRoomState extends State<WaitingRoom> {
textAlign: TextAlign.left, textAlign: TextAlign.left,
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 500, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
widget.onIndexChange(1); widget.onIndexChange(1);
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
buttonText: "Existing Patient",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
child: Text(
"Existing Patient",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
SizedBox( MihButton(
width: 500, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
widget.onIndexChange(2); widget.onIndexChange(2);
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
buttonText: "Existing MIH User",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
child: Text(
"Existing MIH User",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
SizedBox( MihButton(
width: 500, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
Navigator.pop(context); Navigator.pop(context);
addAppointmentWindow(); addAppointmentWindow();
}, },
buttonText: "Skeleton Appointment",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
child: Text(
"Skeleton Appointment",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],
@@ -351,18 +360,21 @@ class _WaitingRoomState extends State<WaitingRoom> {
), ),
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
SizedBox( MihButton(
width: 500, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
addAppointmentCall(); addAppointmentCall();
}, },
buttonText: "Add",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: width: 300,
child: Text(
"Add",
style: TextStyle(
color:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -1,11 +1,11 @@
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_icd10_code_api.dart'; import 'package:mzansi_innovation_hub/mih_apis/mih_icd10_code_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_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_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_package_components/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_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';
@@ -224,12 +224,8 @@ class _ClaimStatementWindowState extends State<ClaimStatementWindow> {
required: false, required: false,
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 500, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
//generate document and uploud it
if (isInputValid()) { if (isInputValid()) {
MIHClaimStatementGenerationApi().generateClaimStatement( MIHClaimStatementGenerationApi().generateClaimStatement(
ClaimStatementGenerationArguments( ClaimStatementGenerationArguments(
@@ -278,12 +274,17 @@ class _ClaimStatementWindowState extends State<ClaimStatementWindow> {
); );
} }
}, },
buttonText: "Generate", buttonColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
buttonColor: width: 300,
MzanziInnovationHub.of(context)!.theme.secondaryColor(), child: Text(
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), "Generate",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
); );
} }

View File

@@ -1,8 +1,8 @@
import 'dart:convert'; 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_package_components/mih_button.dart';
import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/components/medicine_search.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_profile/pat_profile/components/medicine_search.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_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_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
@@ -419,22 +419,10 @@ class _PrescripInputState extends State<PrescripInput> {
enableSearch: false, enableSearch: false,
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Add",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
if (isFieldsFilled()) { if (isFieldsFilled()) {
// int quantity;
// int.parse(widget.dosageController.text) *
// int.parse(widget.timesDailyController.text) *
// int.parse(widget.noDaysController.text);
setState(() { setState(() {
//widget.quantityController.text = "$quantity";
updatePerscriptionList(); updatePerscriptionList();
widget.medicineController.clear(); widget.medicineController.clear();
widget.quantityController.clear(); widget.quantityController.clear();
@@ -443,8 +431,6 @@ class _PrescripInputState extends State<PrescripInput> {
widget.noDaysController.clear(); widget.noDaysController.clear();
widget.noRepeatsController.clear(); widget.noRepeatsController.clear();
}); });
//addPatientAPICall();
} else { } else {
showDialog( showDialog(
context: context, context: context,
@@ -454,8 +440,17 @@ class _PrescripInputState extends State<PrescripInput> {
); );
} }
}, },
buttonColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Add",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
); );
} }
@@ -516,11 +511,8 @@ class _PrescripInputState extends State<PrescripInput> {
), ),
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () async {
height: 50,
child: MIHButton(
onTap: () async {
if (perscriptionObjOutput.isNotEmpty) { if (perscriptionObjOutput.isNotEmpty) {
//print(jsonEncode(perscriptionObjOutput)); //print(jsonEncode(perscriptionObjOutput));
await generatePerscription(); await generatePerscription();
@@ -534,11 +526,17 @@ class _PrescripInputState extends State<PrescripInput> {
); );
} }
}, },
buttonText: "Generate",
buttonColor: MzanziInnovationHub.of(context)!.theme.successColor(), buttonColor: MzanziInnovationHub.of(context)!.theme.successColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Generate",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
); );
} }

View File

@@ -1,10 +1,10 @@
import 'dart:convert'; import 'dart:convert';
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_components/mih_inputs_and_buttons/mih_button.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_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_button.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_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_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
@@ -160,11 +160,8 @@ class _PatientConsultationState extends State<PatientConsultation> {
), ),
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
onTap: () {
if (isFieldsFilled()) { if (isFieldsFilled()) {
addPatientNoteAPICall(); addPatientNoteAPICall();
Navigator.pop(context); Navigator.pop(context);
@@ -177,13 +174,18 @@ class _PatientConsultationState extends State<PatientConsultation> {
); );
} }
}, },
buttonText: "Add Note",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: width: 300,
MzanziInnovationHub.of(context)!.theme.primaryColor(), child: Text(
"Add Note",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
), ),
), ),

View File

@@ -4,9 +4,9 @@ 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/med_cert_input.dart'; 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_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_package_components/mih_button.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_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_package_components/mih_package_window.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
@@ -252,16 +252,8 @@ class _PatientDocumentsState extends State<PatientDocuments> {
}, },
), ),
const SizedBox(height: 15), const SizedBox(height: 15),
SizedBox( MihButton(
width: 300, onPressed: () {
height: 50,
child: MIHButton(
buttonText: "Add File",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () {
if (isFileFieldsFilled()) { if (isFileFieldsFilled()) {
submitDocUploadForm(); submitDocUploadForm();
// uploadSelectedFile(selected); // uploadSelectedFile(selected);
@@ -275,8 +267,18 @@ class _PatientDocumentsState extends State<PatientDocuments> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Add File",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
), ),
), ),
@@ -301,16 +303,8 @@ class _PatientDocumentsState extends State<PatientDocuments> {
retDateTextController: retDateTextController, retDateTextController: retDateTextController,
), ),
const SizedBox(height: 15.0), const SizedBox(height: 15.0),
SizedBox( MihButton(
width: 300, onPressed: () async {
height: 50,
child: MIHButton(
buttonText: "Generate",
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onTap: () async {
if (isMedCertFieldsFilled()) { if (isMedCertFieldsFilled()) {
await generateMedCert(); await generateMedCert();
//Navigator.pop(context); //Navigator.pop(context);
@@ -323,8 +317,18 @@ class _PatientDocumentsState extends State<PatientDocuments> {
); );
} }
}, },
buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
width: 300,
child: Text(
"Generate",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
), ),
)
], ],
), ),
), ),

View File

@@ -1,7 +1,6 @@
import 'dart:convert'; 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_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_action.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_action.dart';
@@ -9,6 +8,7 @@ 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_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_button.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_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -289,17 +289,20 @@ class _AddPatientState extends State<AddPatient> {
}, },
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 450.0, onPressed: () {
height: 50.0,
child: MIHButton(
onTap: () {
submitForm(); submitForm();
}, },
buttonText: "Add",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Add",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -1,13 +1,13 @@
import 'dart:convert'; 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_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_action.dart'; 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_button.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_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -272,19 +272,23 @@ class _EditPatientState extends State<EditPatient> {
), ),
), ),
), ),
SizedBox( MihButton(
width: 300, onPressed: deletePatientApiCall,
height: 50,
child: MIHButton(
onTap: deletePatientApiCall,
buttonText: "Delete",
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!
.theme .theme
.secondaryColor(), .secondaryColor(),
textColor: MzanziInnovationHub.of(context)! width: 300,
child: Text(
"Delete",
style: TextStyle(
color: MzanziInnovationHub.of(context)!
.theme .theme
.primaryColor(), .primaryColor(),
)) fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
], ],
), ),
), ),
@@ -520,17 +524,20 @@ class _EditPatientState extends State<EditPatient> {
}, },
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
SizedBox( MihButton(
width: 500.0, onPressed: () {
height: 50.0,
child: MIHButton(
onTap: () {
submitForm(); submitForm();
}, },
buttonText: "Update",
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), width: 300,
child: Text(
"Update",
style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20,
fontWeight: FontWeight.bold,
),
), ),
), ),
], ],

View File

@@ -17,6 +17,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.13.0" version: "5.13.0"
animated_button:
dependency: "direct main"
description:
name: animated_button
sha256: "238e093023955b3a21b14d230baeecb94fc796379e3dd8ee534c158838f24024"
url: "https://pub.dev"
source: hosted
version: "0.3.1"
ansicolor: ansicolor:
dependency: transitive dependency: transitive
description: description:

View File

@@ -76,6 +76,7 @@ dependencies:
flutter_speed_dial: ^7.0.0 flutter_speed_dial: ^7.0.0
share_plus: ^10.1.4 share_plus: ^10.1.4
app_settings: ^6.1.1 app_settings: ^6.1.1
animated_button: ^0.3.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: