add new text field input into patient manager

This commit is contained in:
2025-06-05 16:04:00 +02:00
parent a412e04424
commit 3d1976d776
4 changed files with 464 additions and 321 deletions

View File

@@ -2,11 +2,13 @@ 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_apis/mih_validation_services.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_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_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_form.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_text_form_field.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart';
@@ -47,6 +49,7 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
TextEditingController lnameController = TextEditingController(); TextEditingController lnameController = TextEditingController();
TextEditingController accessStatusController = TextEditingController(); TextEditingController accessStatusController = TextEditingController();
final baseAPI = AppEnviroment.baseApiUrl; final baseAPI = AppEnviroment.baseApiUrl;
final _formKey = GlobalKey<FormState>();
Future<void> addPatientAccessAPICall(int index) async { Future<void> addPatientAccessAPICall(int index) async {
var response = await http.post( var response = await http.post(
@@ -175,25 +178,52 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
}, },
windowBody: Column( windowBody: Column(
children: [ children: [
MIHTextField( MihForm(
formKey: _formKey,
formFields: [
MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: idController, controller: idController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "ID No.", hintText: "ID No.",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: fnameController, controller: fnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "First Name", hintText: "First Name",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: lnameController, controller: lnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "Surname", hintText: "Surname",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHDateField( MIHDateField(
@@ -219,7 +249,8 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return const MIHErrorMessage(errorType: "Input Error"); return const MIHErrorMessage(
errorType: "Input Error");
}, },
); );
} }
@@ -230,7 +261,8 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
child: Text( child: Text(
"Book", "Book",
style: TextStyle( style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(), color:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -238,6 +270,8 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
), ),
], ],
), ),
],
),
), ),
); );
} }
@@ -331,32 +365,60 @@ class _BuildPatientsListState extends State<BuildMihPatientSearchList> {
}, },
windowBody: Column( windowBody: Column(
children: [ children: [
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: idController, controller: idController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "ID No.", hintText: "ID No.",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: fnameController, controller: fnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "First Name", hintText: "First Name",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: lnameController, controller: lnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "Surname", hintText: "Surname",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: accessStatusController, controller: accessStatusController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "Access Status", hintText: "Access Status",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 20.0), const SizedBox(height: 20.0),
Visibility( Visibility(

View File

@@ -1,11 +1,13 @@
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_apis/mih_validation_services.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_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_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_form.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_text_form_field.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -41,6 +43,7 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
TextEditingController idController = TextEditingController(); TextEditingController idController = TextEditingController();
TextEditingController fnameController = TextEditingController(); TextEditingController fnameController = TextEditingController();
TextEditingController lnameController = TextEditingController(); TextEditingController lnameController = TextEditingController();
final _formKey = GlobalKey<FormState>();
final baseAPI = AppEnviroment.baseApiUrl; final baseAPI = AppEnviroment.baseApiUrl;
@@ -66,18 +69,6 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
timeController.text, timeController.text,
context, context,
); );
// MIHApiCalls.addAppointmentAPICall(
// widget.business!.business_id,
// widget.patientAccesses[index].app_id,
// dateController.text,
// timeController.text,
// BusinessArguments(
// widget.signedInUser,
// widget.businessUser,
// widget.business,
// ),
// context,
// );
} }
bool isAppointmentFieldsFilled() { bool isAppointmentFieldsFilled() {
@@ -108,25 +99,52 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
}, },
windowBody: Column( windowBody: Column(
children: [ children: [
MIHTextField( MihForm(
formKey: _formKey,
formFields: [
MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: idController, controller: idController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "ID No.", hintText: "ID No.",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: fnameController, controller: fnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "First Name", hintText: "First Name",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: lnameController, controller: lnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "Surname", hintText: "Surname",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHDateField( MIHDateField(
@@ -141,8 +159,10 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
required: true, required: true,
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
MihButton( Center(
child: MihButton(
onPressed: () { onPressed: () {
if (_formKey.currentState!.validate()) {
bool filled = isAppointmentFieldsFilled(); bool filled = isAppointmentFieldsFilled();
if (filled) { if (filled) {
submitApointment(index); submitApointment(index);
@@ -150,10 +170,12 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return const MIHErrorMessage(errorType: "Input Error"); return const MIHErrorMessage(
errorType: "Input Error");
}, },
); );
} }
}
}, },
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(), MzanziInnovationHub.of(context)!.theme.secondaryColor(),
@@ -161,12 +183,17 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
child: Text( child: Text(
"Book Appointment", "Book Appointment",
style: TextStyle( style: TextStyle(
color: MzanziInnovationHub.of(context)!.theme.primaryColor(), color: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
), ),
),
],
),
], ],
), ),
), ),
@@ -222,28 +249,53 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
}, },
windowBody: Column( windowBody: Column(
children: [ children: [
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: idController, controller: idController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "ID No.", hintText: "ID No.",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: fnameController, controller: fnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "First Name", hintText: "First Name",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MIHTextField( MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: lnameController, controller: lnameController,
multiLineInput: false,
requiredText: true,
readOnly: true,
hintText: "Surname", hintText: "Surname",
editable: false, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 30.0), const SizedBox(height: 30.0),
Wrap(runSpacing: 10, spacing: 10, children: [ Center(
child: Wrap(
runSpacing: 10,
spacing: 10,
children: [
MihButton( MihButton(
onPressed: () { onPressed: () {
appointmentPopUp(index); appointmentPopUp(index);
@@ -254,8 +306,9 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
child: Text( child: Text(
"Book Appointment", "Book Appointment",
style: TextStyle( style: TextStyle(
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.primaryColor(), .theme
.primaryColor(),
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -263,7 +316,8 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
), ),
MihButton( MihButton(
onPressed: () { onPressed: () {
Navigator.of(context).pushNamed('/patient-manager/patient', Navigator.of(context)
.pushNamed('/patient-manager/patient',
arguments: PatientViewArguments( arguments: PatientViewArguments(
widget.signedInUser, widget.signedInUser,
patientProfile, patientProfile,
@@ -278,14 +332,17 @@ class _BuildPatientsListState extends State<BuildMyPatientListList> {
child: Text( child: Text(
"View Medical Records", "View Medical Records",
style: TextStyle( style: TextStyle(
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.primaryColor(), .theme
.primaryColor(),
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
), ),
]) ],
),
)
], ],
), ),
), ),

View File

@@ -1,16 +1,17 @@
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_apis/mih_validation_services.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_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_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_button.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_form.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';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_text_form_field.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -59,6 +60,7 @@ class _WaitingRoomState extends State<WaitingRoom> {
late Future<List<Appointment>> businessAppointmentResults; late Future<List<Appointment>> businessAppointmentResults;
late Future<List<Appointment>> appointmentResults; late Future<List<Appointment>> appointmentResults;
bool inWaitingRoom = true; bool inWaitingRoom = true;
final _formKey = GlobalKey<FormState>();
// Business Appointment Tool // Business Appointment Tool
Widget getBusinessAppointmentsTool() { Widget getBusinessAppointmentsTool() {
@@ -314,14 +316,21 @@ class _WaitingRoomState extends State<WaitingRoom> {
}, },
windowBody: Column( windowBody: Column(
children: [ children: [
SizedBox( MihForm(
// width: 500, formKey: _formKey,
child: MIHTextField( formFields: [
MihTextFormField(
fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: _appointmentTitleController, controller: _appointmentTitleController,
hintText: "Title", multiLineInput: false,
editable: true, requiredText: true,
required: true, hintText: "Appointment Title",
), validator: (value) {
return MihValidationServices().isEmpty(value);
},
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
SizedBox( SizedBox(
@@ -342,20 +351,27 @@ class _WaitingRoomState extends State<WaitingRoom> {
), ),
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
SizedBox( MihTextFormField(
// width: 500,
height: 250, height: 250,
child: MIHMLTextField( fillColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
controller: _appointmentDescriptionIDController, controller: _appointmentDescriptionIDController,
multiLineInput: true,
requiredText: true,
hintText: "Description", hintText: "Description",
editable: true, validator: (value) {
required: true, return MihValidationServices().isEmpty(value);
), },
), ),
const SizedBox(height: 20), const SizedBox(height: 20),
MihButton( Center(
child: MihButton(
onPressed: () { onPressed: () {
if (_formKey.currentState!.validate()) {
addAppointmentCall(); addAppointmentCall();
}
}, },
buttonColor: buttonColor:
MzanziInnovationHub.of(context)!.theme.successColor(), MzanziInnovationHub.of(context)!.theme.successColor(),
@@ -363,13 +379,17 @@ class _WaitingRoomState extends State<WaitingRoom> {
child: Text( child: Text(
"Add", "Add",
style: TextStyle( style: TextStyle(
color: color: MzanziInnovationHub.of(context)!
MzanziInnovationHub.of(context)!.theme.primaryColor(), .theme
.primaryColor(),
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
), ),
),
],
),
], ],
), ),
); );
@@ -413,8 +433,7 @@ class _WaitingRoomState extends State<WaitingRoom> {
} }
bool isAppointmentInputValid() { bool isAppointmentInputValid() {
if (_appointmentTitleController.text.isEmpty || if (_appointmentDescriptionIDController.text.isEmpty ||
_appointmentDescriptionIDController.text.isEmpty ||
_appointmentDateController.text.isEmpty || _appointmentDateController.text.isEmpty ||
_appointmentTimeController.text.isEmpty) { _appointmentTimeController.text.isEmpty) {
return false; return false;

View File

@@ -43,7 +43,8 @@ class _PatientInfoState extends State<PatientInfo> {
late String medAid; late String medAid;
Widget getPatientDetailsField() { Widget getPatientDetailsField() {
return Wrap( return Center(
child: Wrap(
spacing: 15, spacing: 15,
runSpacing: 10, runSpacing: 10,
children: [ children: [
@@ -112,6 +113,7 @@ class _PatientInfoState extends State<PatientInfo> {
hintText: "Address", hintText: "Address",
), ),
], ],
),
); );
} }
@@ -202,10 +204,12 @@ class _PatientInfoState extends State<PatientInfo> {
), ),
), ),
]); ]);
return Wrap( return Center(
child: Wrap(
spacing: 10, spacing: 10,
runSpacing: 10, runSpacing: 10,
children: medAidDet, children: medAidDet,
),
); );
} }
@@ -271,6 +275,7 @@ class _PatientInfoState extends State<PatientInfo> {
children: [ children: [
MihSingleChildScroll( MihSingleChildScroll(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
MihForm( MihForm(
formKey: _formKey, formKey: _formKey,