create mzansi director package

This commit is contained in:
2025-07-03 10:46:29 +02:00
parent 625fe37420
commit 5568346baf
2 changed files with 122 additions and 0 deletions

View File

@@ -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<MzansiDirectory> createState() => _MzansiDirectoryState();
}
class _MzansiDirectoryState extends State<MzansiDirectory> {
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<Widget> getToolBody() {
List<Widget> 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<Widget, void Function()?> 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<String> getToolTitle() {
List<String> toolTitles = [
"Contacts",
"Favourite Businesses",
"Search Mzansi",
];
return toolTitles;
}
}

View File

@@ -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<MzansiDirectoryTile> createState() => _MzansiDirectoryTileState();
}
class _MzansiDirectoryTileState extends State<MzansiDirectoryTile> {
@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(),
);
}
}