import 'package:go_router/go_router.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package_action.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tools.dart'; import 'package:mzansi_innovation_hub/mih_package_components/Example/package_tools/package_tool_one.dart'; import 'package:mzansi_innovation_hub/mih_package_components/Example/package_tools/package_tool_two.dart'; import 'package:flutter/material.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_data_helper_services.dart'; import 'package:provider/provider.dart'; class PackageTest extends StatefulWidget { const PackageTest({ super.key, }); @override State createState() => _PackageTestState(); } class _PackageTestState extends State { int _selcetedIndex = 0; bool _isLoadingInitialData = true; Future _loadInitialData() async { setState(() { _isLoadingInitialData = true; }); MzansiProfileProvider mzansiProfileProvider = context.read(); await MihDataHelperServices().loadUserDataWithBusinessesData( mzansiProfileProvider, ); setState(() { _isLoadingInitialData = false; }); } MihPackageAction getAction() { return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { context.goNamed( 'mihHome', extra: true, ); FocusScope.of(context).unfocus(); // Navigator.of(context).pop(); // Navigator.of(context).popAndPushNamed( // '/', // arguments: AuthArguments(true, false), // ); }, ); } MihPackageTools getTools() { Map temp = Map(); temp[const Icon(Icons.inbox)] = () { setState(() { _selcetedIndex = 0; }); }; temp[const Icon(Icons.outbond)] = () { setState(() { _selcetedIndex = 1; }); }; return MihPackageTools( tools: temp, selcetedIndex: _selcetedIndex, ); } void showAlert() { MihAlertServices().inputErrorMessage(context); } List getToolBody() { MzansiProfileProvider profileProvider = context.read(); List toolBodies = [ PackageToolOne( user: profileProvider.user!, business: profileProvider.business, ), const PackageToolTwo(), ]; return toolBodies; } List getToolTitle() { List toolTitles = [ "Tool One", "Tool Two", ]; return toolTitles; } @override void initState() { super.initState(); _loadInitialData(); } @override Widget build(BuildContext context) { return Consumer( builder: (BuildContext context, MzansiProfileProvider value, Widget? child) { if (_isLoadingInitialData) { return Scaffold( body: Center( child: Mihloadingcircle(), ), ); } return MihPackage( appActionButton: getAction(), appTools: getTools(), appBody: getToolBody(), appToolTitles: getToolTitle(), selectedbodyIndex: _selcetedIndex, onIndexChange: (newValue) { setState(() { _selcetedIndex = newValue; }); print("Index: $_selcetedIndex"); }, ); }, ); } }