QOL: MIH Test Package get data on package open

This commit is contained in:
2025-11-17 11:25:51 +02:00
parent 9d898d8dff
commit a49505c153

View File

@@ -6,19 +6,16 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_
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_package_components/Example/package_tools/package_tool_one.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.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/mzansi_profile_provider.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_data_helper_services.dart';
import 'package:provider/provider.dart';
class PackageTest extends StatefulWidget { class PackageTest extends StatefulWidget {
// final AppUser user;
// final Business business;
final TestArguments arguments;
const PackageTest({ const PackageTest({
super.key, super.key,
required this.arguments,
// required this.user,
// required this.business,
}); });
@override @override
@@ -27,6 +24,21 @@ class PackageTest extends StatefulWidget {
class _PackageTestState extends State<PackageTest> { class _PackageTestState extends State<PackageTest> {
int _selcetedIndex = 0; int _selcetedIndex = 0;
bool _isLoadingInitialData = true;
Future<void> _loadInitialData() async {
setState(() {
_isLoadingInitialData = true;
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
setState(() {
_isLoadingInitialData = false;
});
}
MihPackageAction getAction() { MihPackageAction getAction() {
return MihPackageAction( return MihPackageAction(
@@ -127,10 +139,12 @@ class _PackageTestState extends State<PackageTest> {
} }
List<Widget> getToolBody() { List<Widget> getToolBody() {
MzansiProfileProvider profileProvider =
context.read<MzansiProfileProvider>();
List<Widget> toolBodies = [ List<Widget> toolBodies = [
PackageToolOne( PackageToolOne(
user: widget.arguments.user, user: profileProvider.user!,
business: widget.arguments.business, business: profileProvider.business,
), ),
const PackageToolTwo(), const PackageToolTwo(),
]; ];
@@ -145,19 +159,37 @@ class _PackageTestState extends State<PackageTest> {
return toolTitles; return toolTitles;
} }
@override
void initState() {
super.initState();
_loadInitialData();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MihPackage( return Consumer<MzansiProfileProvider>(
appActionButton: getAction(), builder:
appTools: getTools(), (BuildContext context, MzansiProfileProvider value, Widget? child) {
appBody: getToolBody(), if (_isLoadingInitialData) {
appToolTitles: getToolTitle(), return Scaffold(
selectedbodyIndex: _selcetedIndex, body: Center(
onIndexChange: (newValue) { child: Mihloadingcircle(),
setState(() { ),
_selcetedIndex = newValue; );
}); }
print("Index: $_selcetedIndex"); return MihPackage(
appActionButton: getAction(),
appTools: getTools(),
appBody: getToolBody(),
appToolTitles: getToolTitle(),
selectedbodyIndex: _selcetedIndex,
onIndexChange: (newValue) {
setState(() {
_selcetedIndex = newValue;
});
print("Index: $_selcetedIndex");
},
);
}, },
); );
} }