NEW: About MIH Provider Setup
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
|
import 'package:mzansi_innovation_hub/mih_components/mih_providers/about_mih_provider.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_banner_ad_provider.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_banner_ad_provider.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_calculator_provider.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_calculator_provider.dart';
|
||||||
|
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mih_mine_sweeper_provider.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_wallet_provider.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -81,6 +83,12 @@ class _MzansiInnovationHubState extends State<MzansiInnovationHub> {
|
|||||||
ChangeNotifierProvider(
|
ChangeNotifierProvider(
|
||||||
create: (context) => MihCalculatorProvider(),
|
create: (context) => MihCalculatorProvider(),
|
||||||
),
|
),
|
||||||
|
ChangeNotifierProvider(
|
||||||
|
create: (context) => AboutMihProvider(),
|
||||||
|
),
|
||||||
|
ChangeNotifierProvider(
|
||||||
|
create: (context) => MihMineSweeperProvider(),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
child: MaterialApp.router(
|
child: MaterialApp.router(
|
||||||
title: getTitle(),
|
title: getTitle(),
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import 'package:flutter/foundation.dart';
|
||||||
|
|
||||||
|
class AboutMihProvider extends ChangeNotifier {
|
||||||
|
int toolIndex;
|
||||||
|
|
||||||
|
AboutMihProvider({
|
||||||
|
this.toolIndex = 0,
|
||||||
|
});
|
||||||
|
|
||||||
|
void setToolIndex(int index) {
|
||||||
|
toolIndex = index;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ import 'package:mzansi_innovation_hub/mih_packages/mih_authentication/mih_auth_p
|
|||||||
import 'package:mzansi_innovation_hub/mih_packages/mih_authentication/mih_authentication.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/mih_authentication/mih_authentication.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_home.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_home.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_route_error.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/mih_home/mih_route_error.dart';
|
||||||
|
import 'package:mzansi_innovation_hub/mih_packages/mine_sweeper/mih_mine_sweeper.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_packages/mzansi_ai/mzansi_ai.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/mzansi_ai/mzansi_ai.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_packages/mzansi_directory/mzansi_directory.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/mzansi_directory/mzansi_directory.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/mzansi_business_profile.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/mzansi_business_profile.dart';
|
||||||
@@ -63,6 +64,7 @@ class MihGoRouterPaths {
|
|||||||
static const String barcodeScanner = '/scanner';
|
static const String barcodeScanner = '/scanner';
|
||||||
static const String calculator = '/calculator';
|
static const String calculator = '/calculator';
|
||||||
static const String mzansiAi = '/mzansi-ai';
|
static const String mzansiAi = '/mzansi-ai';
|
||||||
|
static const String mihMineSweeper = '/mih-mine-sweeper';
|
||||||
static const String packageDevTest = '/package-dev';
|
static const String packageDevTest = '/package-dev';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,14 +152,12 @@ class MihGoRouter {
|
|||||||
path: MihGoRouterPaths.aboutMih,
|
path: MihGoRouterPaths.aboutMih,
|
||||||
builder: (BuildContext context, GoRouterState state) {
|
builder: (BuildContext context, GoRouterState state) {
|
||||||
KenLogger.success("MihGoRouter: aboutMih");
|
KenLogger.success("MihGoRouter: aboutMih");
|
||||||
final AboutArguments? args = state.extra as AboutArguments?;
|
final bool? args = state.extra as bool?;
|
||||||
int index = 0;
|
|
||||||
bool personalSelected = true;
|
bool personalSelected = true;
|
||||||
if (args != null) {
|
if (args != null) {
|
||||||
index = args.packageIndex ?? 0;
|
personalSelected = args;
|
||||||
personalSelected = args.personalSelected;
|
|
||||||
}
|
}
|
||||||
return AboutMih(arguments: AboutArguments(personalSelected, index));
|
return AboutMih(personalSelected: personalSelected);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
// ========================== Mzansi Profile Personal ==================================
|
// ========================== Mzansi Profile Personal ==================================
|
||||||
@@ -463,6 +463,15 @@ class MihGoRouter {
|
|||||||
return MIHPrintPreview(arguments: args!);
|
return MIHPrintPreview(arguments: args!);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
// ========================== MIH Calculator ==================================
|
||||||
|
GoRoute(
|
||||||
|
name: "mihMineSweeper",
|
||||||
|
path: MihGoRouterPaths.mihMineSweeper,
|
||||||
|
builder: (BuildContext context, GoRouterState state) {
|
||||||
|
KenLogger.success("MihGoRouter: mihMineSweeper");
|
||||||
|
return MihMineSweeper();
|
||||||
|
},
|
||||||
|
),
|
||||||
// ========================== End ==================================
|
// ========================== End ==================================
|
||||||
// GoRoute(
|
// GoRoute(
|
||||||
// name: "notifications",
|
// name: "notifications",
|
||||||
|
|||||||
@@ -1,19 +1,22 @@
|
|||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.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.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_action.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.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_%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_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_privacy_policy.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_terms_of_service.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_terms_of_service.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class AboutMih extends StatefulWidget {
|
class AboutMih extends StatefulWidget {
|
||||||
final AboutArguments? arguments;
|
final bool? personalSelected;
|
||||||
|
// final AboutArguments? arguments;
|
||||||
const AboutMih({
|
const AboutMih({
|
||||||
super.key,
|
super.key,
|
||||||
this.arguments,
|
// this.arguments,
|
||||||
|
this.personalSelected,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -21,19 +24,16 @@ class AboutMih extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _AboutMihState extends State<AboutMih> {
|
class _AboutMihState extends State<AboutMih> {
|
||||||
late int _selcetedIndex;
|
|
||||||
late bool _personalSelected;
|
late bool _personalSelected;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
setState(() {
|
setState(() {
|
||||||
if (widget.arguments == null) {
|
if (widget.personalSelected == null) {
|
||||||
_selcetedIndex = 0;
|
|
||||||
_personalSelected = true;
|
_personalSelected = true;
|
||||||
} else {
|
} else {
|
||||||
_selcetedIndex = widget.arguments!.packageIndex!;
|
_personalSelected = widget.personalSelected!;
|
||||||
_personalSelected = widget.arguments!.personalSelected;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -45,12 +45,9 @@ class _AboutMihState extends State<AboutMih> {
|
|||||||
appTools: getTools(),
|
appTools: getTools(),
|
||||||
appBody: getToolBody(),
|
appBody: getToolBody(),
|
||||||
appToolTitles: getToolTitle(),
|
appToolTitles: getToolTitle(),
|
||||||
selectedbodyIndex: _selcetedIndex,
|
selectedbodyIndex: context.watch<AboutMihProvider>().toolIndex,
|
||||||
onIndexChange: (newValue) {
|
onIndexChange: (newIndex) {
|
||||||
setState(() {
|
context.read<AboutMihProvider>().setToolIndex(newIndex);
|
||||||
_selcetedIndex = newValue;
|
|
||||||
});
|
|
||||||
// print("Index: $_selcetedIndex");
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -72,28 +69,20 @@ class _AboutMihState extends State<AboutMih> {
|
|||||||
MihPackageTools getTools() {
|
MihPackageTools getTools() {
|
||||||
Map<Widget, void Function()?> temp = {};
|
Map<Widget, void Function()?> temp = {};
|
||||||
temp[const Icon(Icons.info)] = () {
|
temp[const Icon(Icons.info)] = () {
|
||||||
setState(() {
|
context.read<AboutMihProvider>().setToolIndex(0);
|
||||||
_selcetedIndex = 0;
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
temp[const Icon(Icons.policy)] = () {
|
temp[const Icon(Icons.policy)] = () {
|
||||||
setState(() {
|
context.read<AboutMihProvider>().setToolIndex(1);
|
||||||
_selcetedIndex = 1;
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
temp[const Icon(Icons.design_services)] = () {
|
temp[const Icon(Icons.design_services)] = () {
|
||||||
setState(() {
|
context.read<AboutMihProvider>().setToolIndex(2);
|
||||||
_selcetedIndex = 2;
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
temp[const Icon(Icons.star_rounded)] = () {
|
temp[const Icon(Icons.star_rounded)] = () {
|
||||||
setState(() {
|
context.read<AboutMihProvider>().setToolIndex(3);
|
||||||
_selcetedIndex = 3;
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
return MihPackageTools(
|
return MihPackageTools(
|
||||||
tools: temp,
|
tools: temp,
|
||||||
selcetedIndex: _selcetedIndex,
|
selcetedIndex: context.watch<AboutMihProvider>().toolIndex,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:mzansi_innovation_hub/main.dart';
|
import 'package:mzansi_innovation_hub/main.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart';
|
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tile.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.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_icons.dart';
|
||||||
@@ -26,10 +25,7 @@ class _AboutMihTileState extends State<AboutMihTile> {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
context.goNamed(
|
context.goNamed(
|
||||||
"aboutMih",
|
"aboutMih",
|
||||||
extra: AboutArguments(
|
extra: widget.personalSelected,
|
||||||
widget.personalSelected,
|
|
||||||
0,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
// Navigator.of(context).pushNamed(
|
// Navigator.of(context).pushNamed(
|
||||||
// '/about',
|
// '/about',
|
||||||
|
|||||||
@@ -4,7 +4,9 @@ import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart';
|
|||||||
import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.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_icons.dart';
|
||||||
|
import 'package:mzansi_innovation_hub/mih_components/mih_providers/about_mih_provider.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import '../../../main.dart';
|
import '../../../main.dart';
|
||||||
import 'package:supertokens_flutter/supertokens.dart';
|
import 'package:supertokens_flutter/supertokens.dart';
|
||||||
|
|
||||||
@@ -200,12 +202,15 @@ class _MIHAppDrawerState extends State<MIHAppDrawer> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
WidgetsBinding.instance
|
||||||
|
.addPostFrameCallback((_) async {
|
||||||
|
context
|
||||||
|
.read<AboutMihProvider>()
|
||||||
|
.setToolIndex(1);
|
||||||
|
});
|
||||||
context.goNamed(
|
context.goNamed(
|
||||||
"aboutMih",
|
"aboutMih",
|
||||||
extra: AboutArguments(
|
extra: true,
|
||||||
true,
|
|
||||||
1,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -236,12 +241,15 @@ class _MIHAppDrawerState extends State<MIHAppDrawer> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
WidgetsBinding.instance
|
||||||
|
.addPostFrameCallback((_) async {
|
||||||
|
context
|
||||||
|
.read<AboutMihProvider>()
|
||||||
|
.setToolIndex(2);
|
||||||
|
});
|
||||||
context.goNamed(
|
context.goNamed(
|
||||||
"aboutMih",
|
"aboutMih",
|
||||||
extra: AboutArguments(
|
extra: true,
|
||||||
true,
|
|
||||||
2,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user