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_providers/about_mih_provider.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_%20attributes.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_info.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_privacy_policy.dart'; import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_terms_of_service.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class AboutMih extends StatefulWidget { final bool? personalSelected; // final AboutArguments? arguments; const AboutMih({ super.key, // this.arguments, this.personalSelected, }); @override State createState() => _AboutMihState(); } class _AboutMihState extends State { late bool _personalSelected; @override void initState() { super.initState(); setState(() { if (widget.personalSelected == null) { _personalSelected = true; } else { _personalSelected = widget.personalSelected!; } }); } @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); }, ); } MihPackageAction getAction() { return MihPackageAction( icon: const Icon(Icons.arrow_back), iconSize: 35, onTap: () { context.goNamed( 'mihHome', extra: _personalSelected, ); FocusScope.of(context).unfocus(); }, ); } MihPackageTools getTools() { Map temp = {}; temp[const Icon(Icons.info)] = () { context.read().setToolIndex(0); }; temp[const Icon(Icons.policy)] = () { context.read().setToolIndex(1); }; temp[const Icon(Icons.design_services)] = () { context.read().setToolIndex(2); }; temp[const Icon(Icons.star_rounded)] = () { context.read().setToolIndex(3); }; return MihPackageTools( tools: temp, selcetedIndex: context.watch().toolIndex, ); } List getToolBody() { List toolBodies = [ const MihInfo(), const MihPrivacyPolicy(), const MIHTermsOfService(), const MihAttributes(), ]; return toolBodies; } List getToolTitle() { List toolTitles = [ "About", "Privacy Policy", "Terms of Service", "Attributions", ]; return toolTitles; } }