fix back button on Calcendar, directory, AI, about

This commit is contained in:
2025-09-15 11:20:44 +02:00
parent ac4ad04788
commit 1194f5df9c
11 changed files with 69 additions and 25 deletions

View File

@@ -221,10 +221,12 @@ class WalletArguments {
class MzansiAiArguments { class MzansiAiArguments {
final AppUser signedInUser; final AppUser signedInUser;
final String? startUpQuestion; final String? startUpQuestion;
final bool personalSelected;
MzansiAiArguments( MzansiAiArguments(
this.signedInUser, this.signedInUser,
this.startUpQuestion, 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 { class TestArguments {
final AppUser user; final AppUser user;
final Business? business; final Business? business;

View File

@@ -150,12 +150,14 @@ 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 int? packageIndex = state.extra as int?; final AboutArguments? args = state.extra as AboutArguments?;
int index = 0; int index = 0;
if (packageIndex != null) { bool personalSelected = true;
index = packageIndex; if (args != null) {
index = args.packageIndex ?? 0;
personalSelected = args.personalSelected;
} }
return AboutMih(packageIndex: index); return AboutMih(arguments: AboutArguments(personalSelected, index));
}, },
), ),
// ========================== Mzansi Profile Personal ================================== // ========================== Mzansi Profile Personal ==================================

View File

@@ -1,4 +1,5 @@
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';
@@ -9,10 +10,10 @@ import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tools/mih_t
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class AboutMih extends StatefulWidget { class AboutMih extends StatefulWidget {
final int? packageIndex; final AboutArguments? arguments;
const AboutMih({ const AboutMih({
super.key, super.key,
this.packageIndex, this.arguments,
}); });
@override @override
@@ -21,15 +22,18 @@ class AboutMih extends StatefulWidget {
class _AboutMihState extends State<AboutMih> { class _AboutMihState extends State<AboutMih> {
late int _selcetedIndex; late int _selcetedIndex;
late bool _personalSelected;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
setState(() { setState(() {
if (widget.packageIndex == null) { if (widget.arguments == null) {
_selcetedIndex = 0; _selcetedIndex = 0;
_personalSelected = true;
} else { } else {
_selcetedIndex = widget.packageIndex!; _selcetedIndex = widget.arguments!.packageIndex!;
_personalSelected = widget.arguments!.personalSelected;
} }
}); });
} }
@@ -58,7 +62,7 @@ class _AboutMihState extends State<AboutMih> {
onTap: () { onTap: () {
context.goNamed( context.goNamed(
'mihHome', 'mihHome',
extra: true, extra: _personalSelected,
); );
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();
}, },

View File

@@ -1,5 +1,6 @@
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';
@@ -7,9 +8,11 @@ import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
class AboutMihTile extends StatefulWidget { class AboutMihTile extends StatefulWidget {
final double packageSize; final double packageSize;
final bool personalSelected;
const AboutMihTile({ const AboutMihTile({
super.key, super.key,
required this.packageSize, required this.packageSize,
required this.personalSelected,
}); });
@override @override
@@ -23,7 +26,10 @@ class _AboutMihTileState extends State<AboutMihTile> {
onTap: () { onTap: () {
context.goNamed( context.goNamed(
"aboutMih", "aboutMih",
extra: 0, extra: AboutArguments(
widget.personalSelected,
0,
),
); );
// Navigator.of(context).pushNamed( // Navigator.of(context).pushNamed(
// '/about', // '/about',

View File

@@ -45,7 +45,7 @@ class _MzansiCalendarState extends State<MzansiCalendar> {
// Navigator.of(context).pop(); // Navigator.of(context).pop();
context.goNamed( context.goNamed(
'mihHome', 'mihHome',
extra: true, extra: widget.arguments.personalSelected,
); );
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();
}, },

View File

@@ -118,6 +118,7 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
temp.add({ temp.add({
"Mzansi Directory": MzansiDirectoryTile( "Mzansi Directory": MzansiDirectoryTile(
packageSize: packageSize, packageSize: packageSize,
personalSelected: false,
) )
}); });
//=============== Calculator =============== //=============== Calculator ===============
@@ -130,12 +131,21 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
//=============== Mzansi AI =============== //=============== Mzansi AI ===============
temp.add({ temp.add({
"Mzansi AI": MzansiAiTile( "Mzansi AI": MzansiAiTile(
signedInUser: widget.signedInUser, arguments: MzansiAiArguments(
widget.signedInUser,
"",
false,
),
packageSize: packageSize, packageSize: packageSize,
) )
}); });
//=============== About MIH =============== //=============== About MIH ===============
temp.add({"About MIH": AboutMihTile(packageSize: packageSize)}); temp.add({
"About MIH": AboutMihTile(
packageSize: packageSize,
personalSelected: false,
)
});
return temp; return temp;
} }
@@ -252,6 +262,7 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
searchController.text.isEmpty searchController.text.isEmpty
? null ? null
: searchController.text, : searchController.text,
false,
), ),
); );
// Navigator.of(context).pushNamed( // Navigator.of(context).pushNamed(

View File

@@ -120,6 +120,7 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
temp.add({ temp.add({
"Mzansi Directory": MzansiDirectoryTile( "Mzansi Directory": MzansiDirectoryTile(
packageSize: packageSize, packageSize: packageSize,
personalSelected: true,
) )
}); });
//=============== Calendar =============== //=============== Calendar ===============
@@ -137,7 +138,11 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
//=============== Mzansi AI =============== //=============== Mzansi AI ===============
temp.add({ temp.add({
"Mzansi AI": MzansiAiTile( "Mzansi AI": MzansiAiTile(
signedInUser: widget.signedInUser, arguments: MzansiAiArguments(
widget.signedInUser,
"",
true,
),
packageSize: packageSize, packageSize: packageSize,
) )
}); });
@@ -156,7 +161,12 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
) )
}); });
//=============== About MIH =============== //=============== About MIH ===============
temp.add({"About MIH": AboutMihTile(packageSize: packageSize)}); temp.add({
"About MIH": AboutMihTile(
packageSize: packageSize,
personalSelected: true,
)
});
//=============== Dev =============== //=============== Dev ===============
if (widget.isDevActive) { if (widget.isDevActive) {
temp.add({ temp.add({
@@ -290,6 +300,7 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
searchController.text.isEmpty searchController.text.isEmpty
? null ? null
: searchController.text, : searchController.text,
true,
), ),
); );
// Navigator.of(context).pushNamed( // Navigator.of(context).pushNamed(

View File

@@ -31,7 +31,7 @@ class _MzansiAiState extends State<MzansiAi> {
onTap: () { onTap: () {
context.goNamed( context.goNamed(
'mihHome', 'mihHome',
extra: true, extra: widget.arguments.personalSelected,
); );
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();
}, },

View File

@@ -2,18 +2,17 @@ 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_package_components/mih_package_tile.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_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.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_config/mih_colors.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
class MzansiAiTile extends StatefulWidget { class MzansiAiTile extends StatefulWidget {
final AppUser signedInUser; final MzansiAiArguments arguments;
final double packageSize; final double packageSize;
const MzansiAiTile({ const MzansiAiTile({
super.key, super.key,
required this.signedInUser, required this.arguments,
required this.packageSize, required this.packageSize,
}); });
@@ -28,10 +27,7 @@ class _MzansiAiTileState extends State<MzansiAiTile> {
onTap: () { onTap: () {
context.goNamed( context.goNamed(
'mzansiAi', 'mzansiAi',
extra: MzansiAiArguments( extra: widget.arguments,
widget.signedInUser,
"",
),
); );
// Navigator.of(context).pushNamed( // Navigator.of(context).pushNamed(
// '/mzansi-ai', // '/mzansi-ai',

View File

@@ -100,7 +100,7 @@ class _MzansiDirectoryState extends State<MzansiDirectory> {
onTap: () { onTap: () {
context.goNamed( context.goNamed(
'mihHome', 'mihHome',
extra: true, extra: widget.arguments.personalSearch,
); );
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();
}, },

View File

@@ -8,9 +8,11 @@ import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
class MzansiDirectoryTile extends StatefulWidget { class MzansiDirectoryTile extends StatefulWidget {
final double packageSize; final double packageSize;
final bool personalSelected;
const MzansiDirectoryTile({ const MzansiDirectoryTile({
super.key, super.key,
required this.packageSize, required this.packageSize,
required this.personalSelected,
}); });
@override @override
@@ -25,7 +27,7 @@ class _MzansiDirectoryTileState extends State<MzansiDirectoryTile> {
context.goNamed( context.goNamed(
"mzansiDirectory", "mzansiDirectory",
extra: MzansiDirectoryArguments( extra: MzansiDirectoryArguments(
personalSearch: true, personalSearch: widget.personalSelected,
startSearchText: null, startSearchText: null,
), ),
); );