From 4221ae73b9cb2c96780f628dcef6e736f27aa381 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Mon, 17 Nov 2025 10:59:47 +0200 Subject: [PATCH] QOL: MIH Calendar get data on package open --- .../calendar/mzansi_calendar.dart | 52 ++++++++++++++++--- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart index 45f093da..4a25726e 100644 --- a/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart +++ b/Frontend/lib/mih_packages/calendar/mzansi_calendar.dart @@ -2,10 +2,12 @@ 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_action.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/mzansi_profile_provider.dart'; import 'package:mzansi_innovation_hub/mih_packages/calendar/package_tools/appointments.dart'; import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/mih_services/mih_data_helper_services.dart'; import 'package:provider/provider.dart'; class MzansiCalendar extends StatefulWidget { @@ -18,16 +20,50 @@ class MzansiCalendar extends StatefulWidget { } class _MzansiCalendarState extends State { + bool _isLoadingInitialData = true; + + Future _loadInitialData() async { + setState(() { + _isLoadingInitialData = true; + }); + MzansiProfileProvider mzansiProfileProvider = + context.read(); + await MihDataHelperServices().loadUserDataOnly( + mzansiProfileProvider, + ); + setState(() { + _isLoadingInitialData = false; + }); + } + + @override + void initState() { + super.initState(); + _loadInitialData(); + } + @override Widget build(BuildContext context) { - return MihPackage( - appActionButton: getAction(), - appTools: getTools(), - appBody: getToolBody(), - appToolTitles: getToolTitle(), - selectedbodyIndex: context.watch().toolIndex, - onIndexChange: (newIndex) { - context.read().setToolIndex(newIndex); + return Consumer( + builder: (BuildContext context, MihCalendarProvider calendarProvider, + Widget? child) { + if (_isLoadingInitialData) { + return Scaffold( + body: Center( + child: Mihloadingcircle(), + ), + ); + } + return MihPackage( + appActionButton: getAction(), + appTools: getTools(), + appBody: getToolBody(), + appToolTitles: getToolTitle(), + selectedbodyIndex: calendarProvider.toolIndex, + onIndexChange: (newIndex) { + calendarProvider.setToolIndex(newIndex); + }, + ); }, ); }