fix practice number requirement

This commit is contained in:
2025-07-10 10:25:36 +02:00
parent 2f30b2b64e
commit a8a0f3d620
2 changed files with 69 additions and 41 deletions

View File

@@ -13,7 +13,6 @@ import 'package:mzansi_innovation_hub/mih_services/mih_location_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/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_dropdwn_field.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_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_package_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
@@ -270,17 +269,32 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
}, },
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
MihDropdownField( MihTextFormField(
fillColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
controller: typeController, controller: typeController,
multiLineInput: false,
requiredText: true,
hintText: "Business Type", hintText: "Business Type",
dropdownOptions: const ["Doctors Office", "Other"],
editable: true,
enableSearch: true,
validator: (value) { validator: (value) {
return MihValidationServices().isEmpty(value); return MihValidationServices().isEmpty(value);
}, },
requiredText: true,
), ),
// MihDropdownField(
// controller: typeController,
// hintText: "Business Type",
// dropdownOptions: const ["Doctors Office", "Other"],
// editable: true,
// enableSearch: true,
// validator: (value) {
// return MihValidationServices().isEmpty(value);
// },
// requiredText: true,
// ),
const SizedBox(height: 10), const SizedBox(height: 10),
MihTextFormField( MihTextFormField(
fillColor: MzanziInnovationHub.of(context)! fillColor: MzanziInnovationHub.of(context)!
@@ -409,8 +423,7 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
typeController.text == "Doctors Office", typeController.text == "Doctors Office",
hintText: "Practice Number", hintText: "Practice Number",
validator: (validateValue) { validator: (validateValue) {
return MihValidationServices() return null;
.isEmpty(validateValue);
}, },
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
@@ -453,7 +466,9 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return const Mihloadingcircle(); return const Mihloadingcircle(
message: "Getting your location",
);
}, },
); );
MIHLocationAPI() MIHLocationAPI()

View File

@@ -2,6 +2,7 @@ import 'dart:convert';
import 'package:http/http.dart'; import 'package:http/http.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_business_details_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_business_details_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_file_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_file_services.dart';
@@ -230,7 +231,7 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
headerAlignment: MainAxisAlignment.center, headerAlignment: MainAxisAlignment.center,
headerItems: [ headerItems: [
Text( Text(
"Add Business Profile", "Set Up Business Profile",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 25, fontSize: 25,
@@ -304,17 +305,32 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
}, },
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MihDropdownField( MihTextFormField(
fillColor: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
inputColor: MzanziInnovationHub.of(context)!
.theme
.primaryColor(),
controller: typeController, controller: typeController,
multiLineInput: false,
requiredText: true,
hintText: "Business Type", hintText: "Business Type",
dropdownOptions: const ["Doctors Office", "Other"],
editable: true,
enableSearch: true,
validator: (value) { validator: (value) {
return MihValidationServices().isEmpty(value); return MihValidationServices().isEmpty(value);
}, },
requiredText: true,
), ),
// MihDropdownField(
// controller: typeController,
// hintText: "Business Type",
// dropdownOptions: const ["Doctors Office", "Other"],
// editable: true,
// enableSearch: true,
// validator: (value) {
// return MihValidationServices().isEmpty(value);
// },
// requiredText: true,
// ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MihTextFormField( MihTextFormField(
fillColor: MzanziInnovationHub.of(context)! fillColor: MzanziInnovationHub.of(context)!
@@ -430,34 +446,22 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
}, },
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
ValueListenableBuilder( MihTextFormField(
valueListenable: busType, fillColor: MzanziInnovationHub.of(context)!
builder: (BuildContext context, String value, .theme
Widget? child) { .secondaryColor(),
return Visibility( inputColor: MzanziInnovationHub.of(context)!
visible: value == "Doctors Office", .theme
child: MihTextFormField( .primaryColor(),
fillColor: MzanziInnovationHub.of(context)! controller: practiceNoController,
.theme multiLineInput: false,
.secondaryColor(), requiredText: false,
inputColor: MzanziInnovationHub.of(context)! hintText: "Practice Number",
.theme validator: (validateValue) {
.primaryColor(), return null;
controller: practiceNoController,
multiLineInput: false,
requiredText: true,
hintText: "Practice Number",
validator: (validateValue) {
if (value == "Doctors Office") {
return MihValidationServices()
.isEmpty(validateValue);
}
return null;
},
),
);
}, },
), ),
const SizedBox(height: 10.0), const SizedBox(height: 10.0),
MihTextFormField( MihTextFormField(
fillColor: MzanziInnovationHub.of(context)! fillColor: MzanziInnovationHub.of(context)!
@@ -495,6 +499,14 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
const SizedBox(width: 10.0), const SizedBox(width: 10.0),
MihButton( MihButton(
onPressed: () { onPressed: () {
showDialog(
context: context,
builder: (context) {
return const Mihloadingcircle(
message: "Getting your location",
);
},
);
MIHLocationAPI() MIHLocationAPI()
.getGPSPosition(context) .getGPSPosition(context)
.then((position) { .then((position) {
@@ -504,6 +516,7 @@ class _ProfileBusinessAddState extends State<ProfileBusinessAdd> {
"${position.latitude}, ${position.longitude}"; "${position.latitude}, ${position.longitude}";
}); });
} }
Navigator.of(context).pop();
}); });
}, },
buttonColor: MzanziInnovationHub.of(context)! buttonColor: MzanziInnovationHub.of(context)!