diff --git a/README.md b/README.md index 43b5daa..ada2c94 100644 --- a/README.md +++ b/README.md @@ -38,18 +38,36 @@ import 'package:mih_package_toolkit/mih_package_toolkit.dart'; import 'package:flutter/material.dart'; import 'package:mih_package_toolkit/mih_package_toolkit.dart'; -class ExamplePackage extends StatefulWidget { - const ExamplePackage({super.key}); - - @override - State createState() => _ExamplePackageState(); +void main() { + runApp(const MyApp()); } -class _ExamplePackageState extends State { +class MyApp extends StatefulWidget { + const MyApp({super.key}); + @override + State createState() => _MyAppState(); +} + +class _MyAppState extends State { + @override + Widget build(BuildContext context) { + return MaterialApp(title: 'Flutter Demo', home: const ExampleMihPackage()); + } +} + +class ExampleMihPackage extends StatefulWidget { + const ExampleMihPackage({super.key}); + + @override + State createState() => _ExampleMihPackageState(); +} + +class _ExampleMihPackageState extends State { @override Widget build(BuildContext context) { return MihPackage( + backgroundColor: MihColors.primary(), packageActionButton: actionButton(), packageTools: tools(), packageToolBodies: toolBodies(), @@ -67,6 +85,7 @@ class _ExamplePackageState extends State { Widget actionButton() { return MihPackageAction( + iconColor: MihColors.secondary(), icon: Icon(Icons.arrow_back), iconSize: 35, onTap: () { @@ -81,29 +100,52 @@ class _ExamplePackageState extends State { } MihPackageTools tools() { - Map temp = {}; - temp[const Icon(Icons.calculate)] = () { + Map toolList = {}; + toolList[const Icon(Icons.calculate)] = () { setState(() { selectedbodyIndex = 0; }); }; - temp[const Icon(Icons.money)] = () { + toolList[const Icon(Icons.money)] = () { setState(() { selectedbodyIndex = 1; }); }; - return MihPackageTools(tools: temp, selectedIndex: selectedbodyIndex); + return MihPackageTools( + tools: toolList, + toolColor: MihColors.secondary(), + onSelectedIconColor: MihColors.primary(), + selectedIndex: selectedbodyIndex, + ); } List toolBodies() { return [ MihPackageToolBody( backgroundColor: MihColors.primary(), - bodyItem: Center(child: Text("Tool Body One")), + bodyItem: Center( + child: Text( + "Tool Body One", + style: TextStyle( + color: MihColors.secondary(), + fontSize: 25, + fontWeight: FontWeight.bold, + ), + ), + ), ), MihPackageToolBody( backgroundColor: MihColors.secondary(), - bodyItem: Center(child: Text("Tool Body Two")), + bodyItem: Center( + child: Text( + "Tool Body Two", + style: TextStyle( + color: MihColors.primary(), + fontSize: 25, + fontWeight: FontWeight.bold, + ), + ), + ), ), ]; } diff --git a/example/lib/main.dart b/example/lib/main.dart index 7a371c1..04eb3bd 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,4 +1,3 @@ -import 'package:example/package_structure/example_package.dart'; import 'package:flutter/material.dart'; import 'package:mih_package_toolkit/mih_package_toolkit.dart'; @@ -16,31 +15,101 @@ class MyApp extends StatefulWidget { class _MyAppState extends State { @override Widget build(BuildContext context) { - return MaterialApp(title: 'Flutter Demo', home: const HomePage()); + return MaterialApp(title: 'Flutter Demo', home: const ExampleMihPackage()); } } -class HomePage extends StatelessWidget { - const HomePage({super.key}); +class ExampleMihPackage extends StatefulWidget { + const ExampleMihPackage({super.key}); + @override + State createState() => _ExampleMihPackageState(); +} + +class _ExampleMihPackageState extends State { @override Widget build(BuildContext context) { - return Scaffold( - body: Center( - child: MihPackageTile( - authenticateUser: true, - onTap: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const ExamplePackage()), - ); - }, - packageName: "Example Package", - packageIcon: Icon(MihIcons.mihLogo, color: MihColors.primary()), - iconSize: 150, - textColor: MihColors.primary(), - ), - ), + return MihPackage( + backgroundColor: MihColors.primary(), + packageActionButton: actionButton(), + packageTools: tools(), + packageToolBodies: toolBodies(), + packageToolTitles: appToolTitles(), + selectedBodyIndex: selectedbodyIndex, + onIndexChange: (newIndex) { + setState(() { + selectedbodyIndex = newIndex; + }); + }, ); } + + int selectedbodyIndex = 0; // Important for state management of the body + + Widget actionButton() { + return MihPackageAction( + iconColor: MihColors.secondary(), + icon: Icon(Icons.arrow_back), + iconSize: 35, + onTap: () { + Navigator.pop(context); + }, + ); + } + + List appToolTitles() { + List toolTitles = ["Tool 1", "Tool 2"]; + return toolTitles; + } + + MihPackageTools tools() { + Map toolList = {}; + toolList[const Icon(Icons.calculate)] = () { + setState(() { + selectedbodyIndex = 0; + }); + }; + toolList[const Icon(Icons.money)] = () { + setState(() { + selectedbodyIndex = 1; + }); + }; + return MihPackageTools( + tools: toolList, + toolColor: MihColors.secondary(), + onSelectedIconColor: MihColors.primary(), + selectedIndex: selectedbodyIndex, + ); + } + + List toolBodies() { + return [ + MihPackageToolBody( + backgroundColor: MihColors.primary(), + bodyItem: Center( + child: Text( + "Tool Body One", + style: TextStyle( + color: MihColors.secondary(), + fontSize: 25, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + MihPackageToolBody( + backgroundColor: MihColors.secondary(), + bodyItem: Center( + child: Text( + "Tool Body Two", + style: TextStyle( + color: MihColors.primary(), + fontSize: 25, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ]; + } } diff --git a/lib/src/mih_package.dart b/lib/src/mih_package.dart index db3b6df..7bdfab6 100644 --- a/lib/src/mih_package.dart +++ b/lib/src/mih_package.dart @@ -192,7 +192,7 @@ class _MihPackageState extends State child: Text( widget.packageToolTitles[_currentIndex], style: TextStyle( - color: widget.titleColor, + color: widget.titleColor ?? MihColors.secondary(), fontSize: 23, fontWeight: FontWeight.w600, ),