forked from yaso_meth/mih-project
fix back button on Calcendar, directory, AI, about
This commit is contained in:
@@ -221,10 +221,12 @@ class WalletArguments {
|
||||
class MzansiAiArguments {
|
||||
final AppUser signedInUser;
|
||||
final String? startUpQuestion;
|
||||
final bool personalSelected;
|
||||
|
||||
MzansiAiArguments(
|
||||
this.signedInUser,
|
||||
this.startUpQuestion,
|
||||
this.personalSelected,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -240,6 +242,16 @@ class MzansiDirectoryArguments {
|
||||
});
|
||||
}
|
||||
|
||||
class AboutArguments {
|
||||
final bool personalSelected;
|
||||
final int? packageIndex;
|
||||
|
||||
AboutArguments(
|
||||
this.personalSelected,
|
||||
this.packageIndex,
|
||||
);
|
||||
}
|
||||
|
||||
class TestArguments {
|
||||
final AppUser user;
|
||||
final Business? business;
|
||||
|
||||
@@ -150,12 +150,14 @@ class MihGoRouter {
|
||||
path: MihGoRouterPaths.aboutMih,
|
||||
builder: (BuildContext context, GoRouterState state) {
|
||||
KenLogger.success("MihGoRouter: aboutMih");
|
||||
final int? packageIndex = state.extra as int?;
|
||||
final AboutArguments? args = state.extra as AboutArguments?;
|
||||
int index = 0;
|
||||
if (packageIndex != null) {
|
||||
index = packageIndex;
|
||||
bool personalSelected = true;
|
||||
if (args != null) {
|
||||
index = args.packageIndex ?? 0;
|
||||
personalSelected = args.personalSelected;
|
||||
}
|
||||
return AboutMih(packageIndex: index);
|
||||
return AboutMih(arguments: AboutArguments(personalSelected, index));
|
||||
},
|
||||
),
|
||||
// ========================== Mzansi Profile Personal ==================================
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
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_action.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
|
||||
@@ -9,10 +10,10 @@ import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_t
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AboutMih extends StatefulWidget {
|
||||
final int? packageIndex;
|
||||
final AboutArguments? arguments;
|
||||
const AboutMih({
|
||||
super.key,
|
||||
this.packageIndex,
|
||||
this.arguments,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -21,15 +22,18 @@ class AboutMih extends StatefulWidget {
|
||||
|
||||
class _AboutMihState extends State<AboutMih> {
|
||||
late int _selcetedIndex;
|
||||
late bool _personalSelected;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
setState(() {
|
||||
if (widget.packageIndex == null) {
|
||||
if (widget.arguments == null) {
|
||||
_selcetedIndex = 0;
|
||||
_personalSelected = true;
|
||||
} else {
|
||||
_selcetedIndex = widget.packageIndex!;
|
||||
_selcetedIndex = widget.arguments!.packageIndex!;
|
||||
_personalSelected = widget.arguments!.personalSelected;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -58,7 +62,7 @@ class _AboutMihState extends State<AboutMih> {
|
||||
onTap: () {
|
||||
context.goNamed(
|
||||
'mihHome',
|
||||
extra: true,
|
||||
extra: _personalSelected,
|
||||
);
|
||||
FocusScope.of(context).unfocus();
|
||||
},
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:go_router/go_router.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:flutter/material.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
|
||||
@@ -7,9 +8,11 @@ import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||
|
||||
class AboutMihTile extends StatefulWidget {
|
||||
final double packageSize;
|
||||
final bool personalSelected;
|
||||
const AboutMihTile({
|
||||
super.key,
|
||||
required this.packageSize,
|
||||
required this.personalSelected,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -23,7 +26,10 @@ class _AboutMihTileState extends State<AboutMihTile> {
|
||||
onTap: () {
|
||||
context.goNamed(
|
||||
"aboutMih",
|
||||
extra: 0,
|
||||
extra: AboutArguments(
|
||||
widget.personalSelected,
|
||||
0,
|
||||
),
|
||||
);
|
||||
// Navigator.of(context).pushNamed(
|
||||
// '/about',
|
||||
|
||||
@@ -45,7 +45,7 @@ class _MzansiCalendarState extends State<MzansiCalendar> {
|
||||
// Navigator.of(context).pop();
|
||||
context.goNamed(
|
||||
'mihHome',
|
||||
extra: true,
|
||||
extra: widget.arguments.personalSelected,
|
||||
);
|
||||
FocusScope.of(context).unfocus();
|
||||
},
|
||||
|
||||
@@ -118,6 +118,7 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
|
||||
temp.add({
|
||||
"Mzansi Directory": MzansiDirectoryTile(
|
||||
packageSize: packageSize,
|
||||
personalSelected: false,
|
||||
)
|
||||
});
|
||||
//=============== Calculator ===============
|
||||
@@ -130,12 +131,21 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
|
||||
//=============== Mzansi AI ===============
|
||||
temp.add({
|
||||
"Mzansi AI": MzansiAiTile(
|
||||
signedInUser: widget.signedInUser,
|
||||
arguments: MzansiAiArguments(
|
||||
widget.signedInUser,
|
||||
"",
|
||||
false,
|
||||
),
|
||||
packageSize: packageSize,
|
||||
)
|
||||
});
|
||||
//=============== About MIH ===============
|
||||
temp.add({"About MIH": AboutMihTile(packageSize: packageSize)});
|
||||
temp.add({
|
||||
"About MIH": AboutMihTile(
|
||||
packageSize: packageSize,
|
||||
personalSelected: false,
|
||||
)
|
||||
});
|
||||
return temp;
|
||||
}
|
||||
|
||||
@@ -252,6 +262,7 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
|
||||
searchController.text.isEmpty
|
||||
? null
|
||||
: searchController.text,
|
||||
false,
|
||||
),
|
||||
);
|
||||
// Navigator.of(context).pushNamed(
|
||||
|
||||
@@ -120,6 +120,7 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
|
||||
temp.add({
|
||||
"Mzansi Directory": MzansiDirectoryTile(
|
||||
packageSize: packageSize,
|
||||
personalSelected: true,
|
||||
)
|
||||
});
|
||||
//=============== Calendar ===============
|
||||
@@ -137,7 +138,11 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
|
||||
//=============== Mzansi AI ===============
|
||||
temp.add({
|
||||
"Mzansi AI": MzansiAiTile(
|
||||
signedInUser: widget.signedInUser,
|
||||
arguments: MzansiAiArguments(
|
||||
widget.signedInUser,
|
||||
"",
|
||||
true,
|
||||
),
|
||||
packageSize: packageSize,
|
||||
)
|
||||
});
|
||||
@@ -156,7 +161,12 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
|
||||
)
|
||||
});
|
||||
//=============== About MIH ===============
|
||||
temp.add({"About MIH": AboutMihTile(packageSize: packageSize)});
|
||||
temp.add({
|
||||
"About MIH": AboutMihTile(
|
||||
packageSize: packageSize,
|
||||
personalSelected: true,
|
||||
)
|
||||
});
|
||||
//=============== Dev ===============
|
||||
if (widget.isDevActive) {
|
||||
temp.add({
|
||||
@@ -290,6 +300,7 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
|
||||
searchController.text.isEmpty
|
||||
? null
|
||||
: searchController.text,
|
||||
true,
|
||||
),
|
||||
);
|
||||
// Navigator.of(context).pushNamed(
|
||||
|
||||
@@ -31,7 +31,7 @@ class _MzansiAiState extends State<MzansiAi> {
|
||||
onTap: () {
|
||||
context.goNamed(
|
||||
'mihHome',
|
||||
extra: true,
|
||||
extra: widget.arguments.personalSelected,
|
||||
);
|
||||
FocusScope.of(context).unfocus();
|
||||
},
|
||||
|
||||
@@ -2,18 +2,17 @@ import 'package:go_router/go_router.dart';
|
||||
import 'package:mzansi_innovation_hub/main.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_icons.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||
|
||||
class MzansiAiTile extends StatefulWidget {
|
||||
final AppUser signedInUser;
|
||||
final MzansiAiArguments arguments;
|
||||
final double packageSize;
|
||||
|
||||
const MzansiAiTile({
|
||||
super.key,
|
||||
required this.signedInUser,
|
||||
required this.arguments,
|
||||
required this.packageSize,
|
||||
});
|
||||
|
||||
@@ -28,10 +27,7 @@ class _MzansiAiTileState extends State<MzansiAiTile> {
|
||||
onTap: () {
|
||||
context.goNamed(
|
||||
'mzansiAi',
|
||||
extra: MzansiAiArguments(
|
||||
widget.signedInUser,
|
||||
"",
|
||||
),
|
||||
extra: widget.arguments,
|
||||
);
|
||||
// Navigator.of(context).pushNamed(
|
||||
// '/mzansi-ai',
|
||||
|
||||
@@ -100,7 +100,7 @@ class _MzansiDirectoryState extends State<MzansiDirectory> {
|
||||
onTap: () {
|
||||
context.goNamed(
|
||||
'mihHome',
|
||||
extra: true,
|
||||
extra: widget.arguments.personalSearch,
|
||||
);
|
||||
FocusScope.of(context).unfocus();
|
||||
},
|
||||
|
||||
@@ -8,9 +8,11 @@ import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||
|
||||
class MzansiDirectoryTile extends StatefulWidget {
|
||||
final double packageSize;
|
||||
final bool personalSelected;
|
||||
const MzansiDirectoryTile({
|
||||
super.key,
|
||||
required this.packageSize,
|
||||
required this.personalSelected,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -25,7 +27,7 @@ class _MzansiDirectoryTileState extends State<MzansiDirectoryTile> {
|
||||
context.goNamed(
|
||||
"mzansiDirectory",
|
||||
extra: MzansiDirectoryArguments(
|
||||
personalSearch: true,
|
||||
personalSearch: widget.personalSelected,
|
||||
startSearchText: null,
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user