diff --git a/Frontend/lib/mih_packages/mzansi_directory/mzansi_directory.dart b/Frontend/lib/mih_packages/mzansi_directory/mzansi_directory.dart new file mode 100644 index 00000000..a356853b --- /dev/null +++ b/Frontend/lib/mih_packages/mzansi_directory/mzansi_directory.dart @@ -0,0 +1,84 @@ +import 'package:flutter/material.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'; + +class MzansiDirectory extends StatefulWidget { + const MzansiDirectory({super.key}); + + @override + State createState() => _MzansiDirectoryState(); +} + +class _MzansiDirectoryState extends State { + int _selcetedIndex = 0; + + @override + Widget build(BuildContext context) { + return MihPackage( + appActionButton: getAction(), + appTools: getTools(), + appBody: getToolBody(), + appToolTitles: getToolTitle(), + selectedbodyIndex: _selcetedIndex, + onIndexChange: (newValue) { + setState(() { + _selcetedIndex = newValue; + }); + print("Index: $_selcetedIndex"); + }, + ); + } + + List getToolBody() { + List toolBodies = [ + Placeholder(), + Placeholder(), + Placeholder(), + ]; + return toolBodies; + } + + MihPackageAction getAction() { + return MihPackageAction( + icon: const Icon(Icons.arrow_back), + iconSize: 35, + onTap: () { + Navigator.of(context).pop(); + FocusScope.of(context).unfocus(); + }, + ); + } + + MihPackageTools getTools() { + Map temp = {}; + temp[const Icon(Icons.person)] = () { + setState(() { + _selcetedIndex = 0; + }); + }; + temp[const Icon(Icons.business_center)] = () { + setState(() { + _selcetedIndex = 1; + }); + }; + temp[const Icon(Icons.search)] = () { + setState(() { + _selcetedIndex = 2; + }); + }; + return MihPackageTools( + tools: temp, + selcetedIndex: _selcetedIndex, + ); + } + + List getToolTitle() { + List toolTitles = [ + "Contacts", + "Favourite Businesses", + "Search Mzansi", + ]; + return toolTitles; + } +} diff --git a/Frontend/lib/mih_packages/mzansi_directory/package_tiles/mzansi_directory_tile.dart b/Frontend/lib/mih_packages/mzansi_directory/package_tiles/mzansi_directory_tile.dart new file mode 100644 index 00000000..f37eae32 --- /dev/null +++ b/Frontend/lib/mih_packages/mzansi_directory/package_tiles/mzansi_directory_tile.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; +import 'package:mzansi_innovation_hub/main.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; +import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart'; + +class MzansiDirectoryTile extends StatefulWidget { + final double packageSize; + const MzansiDirectoryTile({ + super.key, + required this.packageSize, + }); + + @override + State createState() => _MzansiDirectoryTileState(); +} + +class _MzansiDirectoryTileState extends State { + @override + Widget build(BuildContext context) { + return MihPackageTile( + onTap: () { + Navigator.of(context).pushNamed( + '/mzansi-directory', + // arguments: WalletArguments(widget.signedInUser, 0), + ); + }, + appName: "Mzansi Directory", + appIcon: Icon( + MihIcons.mzansiDirectory, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + // size: widget.packageSize, + ), + iconSize: widget.packageSize, + primaryColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + secondaryColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), + ); + } +}