update Access Controlls nav

This commit is contained in:
2025-08-19 14:21:57 +02:00
parent c1d1c8070c
commit b78a6553ca
4 changed files with 175 additions and 22 deletions

View File

@@ -1,11 +1,12 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_service_calls.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_access_controls_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_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_warning_message.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_env.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart';
@@ -47,18 +48,6 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
);
}
void successPopUp(String message) {
showDialog(
context: context,
builder: (context) {
return MIHSuccessMessage(
successType: "Success",
successMessage: message,
);
},
);
}
void accessCancelledWarning() {
showDialog(
context: context,
@@ -352,9 +341,10 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
spacing: 10,
children: [
MihButton(
onPressed: () {
onPressed: () async {
print("request declined");
MIHApiCalls.updatePatientAccessAPICall(
int statusCode = await MihAccessControlsServices()
.updatePatientAccessAPICall(
widget.patientAccessList[index].business_id,
widget.patientAccessList[index].requested_by,
widget.patientAccessList[index].app_id,
@@ -363,6 +353,12 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
widget.signedInUser,
context,
);
if (statusCode == 200) {
successPopUp("Successfully Actioned Request",
"You have successfully Declined access request");
} else {
internetConnectionPopUp();
}
},
buttonColor: MihColors.getRedColor(
MzansiInnovationHub.of(context)!.theme.mode ==
@@ -380,9 +376,10 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
),
),
MihButton(
onPressed: () {
onPressed: () async {
print("request approved");
MIHApiCalls.updatePatientAccessAPICall(
int statusCode = await MihAccessControlsServices()
.updatePatientAccessAPICall(
widget.patientAccessList[index].business_id,
widget.patientAccessList[index].requested_by,
widget.patientAccessList[index].app_id,
@@ -391,6 +388,12 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
widget.signedInUser,
context,
);
if (statusCode == 200) {
successPopUp("Successfully Actioned Request",
"You have successfully Accepted access request");
} else {
internetConnectionPopUp();
}
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode ==
@@ -421,6 +424,64 @@ class _BuildPatientsListState extends State<BuildBusinessAccessList> {
);
}
void successPopUp(String title, String message) {
showDialog(
context: context,
builder: (context) {
return MihPackageAlert(
alertIcon: Icon(
Icons.check_circle_outline_rounded,
size: 150,
color: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
),
alertTitle: title,
alertBody: Column(
children: [
Text(
message,
style: TextStyle(
color: MihColors.getSecondaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
fontSize: 15,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 25),
Center(
child: MihButton(
onPressed: () {
context.pop();
context.goNamed(
"mihAccess",
extra: widget.signedInUser,
);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
elevation: 10,
width: 300,
child: Text(
"Dismiss",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode ==
"Dark"),
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
)
],
),
alertColour: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
);
},
);
}
@override
void dispose() {
super.dispose();