QOL: Patient Manager get data on package open pt2

This commit is contained in:
2025-11-17 11:32:23 +02:00
parent a49505c153
commit f064730dcf

View File

@@ -2,6 +2,7 @@ import 'package:go_router/go_router.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';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_calendar_provider.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_calendar_provider.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_profile_provider.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_profile_provider.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_providers/patient_manager_provider.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_providers/patient_manager_provider.dart';
@@ -9,6 +10,7 @@ import 'package:mzansi_innovation_hub/mih_packages/patient_manager/pat_manager/p
import 'package:mzansi_innovation_hub/mih_packages/patient_manager/pat_manager/package_tools/my_patient_list.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_manager/pat_manager/package_tools/my_patient_list.dart';
import 'package:mzansi_innovation_hub/mih_packages/patient_manager/pat_manager/package_tools/waiting_room.dart'; import 'package:mzansi_innovation_hub/mih_packages/patient_manager/pat_manager/package_tools/waiting_room.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_data_helper_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_calendar_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_mzansi_calendar_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_patient_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_patient_services.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@@ -23,53 +25,68 @@ class PatManager extends StatefulWidget {
} }
class _PatManagerState extends State<PatManager> { class _PatManagerState extends State<PatManager> {
bool isLoading = true; bool _isLoadingInitialData = true;
Future<void> initialisePatientData() async { Future<void> _loadInitialData() async {
setState(() { setState(() {
isLoading = true; _isLoadingInitialData = true;
}); });
MzansiProfileProvider profileProvider = MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>(); context.read<MzansiProfileProvider>();
PatientManagerProvider patientManagerProvider = PatientManagerProvider patientManagerProvider =
context.read<PatientManagerProvider>(); context.read<PatientManagerProvider>();
MihCalendarProvider mihCalendarProvider = MihCalendarProvider mihCalendarProvider =
context.read<MihCalendarProvider>(); context.read<MihCalendarProvider>();
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
patientManagerProvider.setPersonalMode(false); patientManagerProvider.setPersonalMode(false);
if (profileProvider.business != null) { if (mzansiProfileProvider.business != null) {
await MihMzansiCalendarApis.getBusinessAppointments( await MihMzansiCalendarApis.getBusinessAppointments(
profileProvider.business!.business_id, mzansiProfileProvider.business!.business_id,
false, false,
mihCalendarProvider.selectedDay, mihCalendarProvider.selectedDay,
mihCalendarProvider, mihCalendarProvider,
); );
await MihPatientServices().getPatientAccessListOfBusiness( await MihPatientServices().getPatientAccessListOfBusiness(
patientManagerProvider, profileProvider.business!.business_id); patientManagerProvider, mzansiProfileProvider.business!.business_id);
} }
setState(() { setState(() {
isLoading = false; _isLoadingInitialData = false;
}); });
} }
@override @override
void initState() { void initState() {
super.initState(); super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) async { _loadInitialData();
initialisePatientData();
});
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihPackage( return Consumer<PatientManagerProvider>(
appActionButton: getActionButton(), builder:
appTools: getTools(), (BuildContext context, PatientManagerProvider value, Widget? child) {
appBody: getToolBody(), if (_isLoadingInitialData) {
appToolTitles: getToolTitle(), return Scaffold(
selectedbodyIndex: body: Center(
context.watch<PatientManagerProvider>().patientManagerIndex, child: Mihloadingcircle(),
onIndexChange: (newValue) { ),
context.read<PatientManagerProvider>().setPatientManagerIndex(newValue); );
}
return MihPackage(
appActionButton: getActionButton(),
appTools: getTools(),
appBody: getToolBody(),
appToolTitles: getToolTitle(),
selectedbodyIndex:
context.watch<PatientManagerProvider>().patientManagerIndex,
onIndexChange: (newValue) {
context
.read<PatientManagerProvider>()
.setPatientManagerIndex(newValue);
},
);
}, },
); );
} }