feat : change role navigation

This commit is contained in:
2025-09-13 16:18:30 +03:30
parent 29059cb7b1
commit 7f29023e94
7 changed files with 110 additions and 56 deletions

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:rasadyar_chicken/presentation/routes/pages.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart';
import 'package:rasadyar_core/core.dart';
import 'logic.dart';
@@ -43,32 +44,8 @@ class PoultryScienceRootPage extends GetView<PoultryScienceRootLogic> {
backgroundColor: AppColor.bgLight,
body: IndexedStack(
children: [
/* Navigator(
key: Get.nestedKey(0),
onGenerateRoute: (settings) {
final page = ChickenPages.pages.firstWhere(
(e) => e.name == settings.name,
orElse: () =>
ChickenPages.pages.firstWhere((e) => e.name == ChickenRoutes.buySteward),
);
return buildRouteFromGetPage(page);
},
),
Navigator(
key: Get.nestedKey(1),
onGenerateRoute: (settings) {
final page = ChickenPages.pages.firstWhere(
(e) => e.name == settings.name,
orElse: () =>
ChickenPages.pages.firstWhere((e) => e.name == ChickenRoutes.saleSteward),
);
return buildRouteFromGetPage(page);
},
),*/
Navigator(
key: Get.nestedKey(0),
key: Get.nestedKey(poultryFirstKey),
onGenerateRoute: (settings) {
final page = ChickenPages.pages.firstWhere(
(e) => e.name == settings.name,
@@ -81,11 +58,11 @@ class PoultryScienceRootPage extends GetView<PoultryScienceRootLogic> {
},
),
Navigator(
key: Get.nestedKey(1),
key: Get.nestedKey(poultrySecondKey),
onGenerateRoute: (settings) => GetPageRoute(page: () => controller.pages[1]),
),
Navigator(
key: Get.nestedKey(2),
key: Get.nestedKey(poultryThirdKey),
onGenerateRoute: (settings) => GetPageRoute(page: () => controller.pages[2]),
),
],
@@ -100,7 +77,7 @@ class PoultryScienceRootPage extends GetView<PoultryScienceRootLogic> {
icon: Assets.vec.settingSvg.path,
isSelected: controller.currentPage.value == 0,
onTap: () {
Get.nestedKey(1)?.currentState?.popUntil((route) => route.isFirst);
Get.nestedKey(poultrySecondKey)?.currentState?.popUntil((route) => route.isFirst);
controller.changePage(0);
},
@@ -110,8 +87,8 @@ class PoultryScienceRootPage extends GetView<PoultryScienceRootLogic> {
icon: Assets.vec.homeSvg.path,
isSelected: controller.currentPage.value == 1,
onTap: () {
Get.nestedKey(0)?.currentState?.popUntil((route) => route.isFirst);
Get.nestedKey(2)?.currentState?.popUntil((route) => route.isFirst);
Get.nestedKey(poultryFirstKey)?.currentState?.popUntil((route) => route.isFirst);
Get.nestedKey(poultryThirdKey)?.currentState?.popUntil((route) => route.isFirst);
controller.changePage(1);
},
),
@@ -120,9 +97,8 @@ class PoultryScienceRootPage extends GetView<PoultryScienceRootLogic> {
icon: Assets.vec.profileCircleSvg.path,
isSelected: controller.currentPage.value == 2,
onTap: () {
/* Get.nestedKey(1)?.currentState?.popUntil((route) => route.isFirst);
Get.nestedKey(0)?.currentState?.popUntil((route) => route.isFirst);
*/
Get.nestedKey(poultryFirstKey)?.currentState?.popUntil((route) => route.isFirst);
Get.nestedKey(poultrySecondKey)?.currentState?.popUntil((route) => route.isFirst);
controller.changePage(2);
},
),