From c5b7b550f24be5606875c5e1454e5d87966e4cda Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Mon, 19 May 2025 09:24:20 -0400 Subject: [PATCH] chore: make homepage a subroute of /rooms so that the state of /rooms will be maintained when navigating between them (#2829) --- lib/config/routes.dart | 71 +++++++++---------- .../activity_planner_page_appbar.dart | 2 +- .../activity_suggestions_area.dart | 2 +- lib/pangea/layouts/bottom_nav_layout.dart | 2 +- 4 files changed, 37 insertions(+), 40 deletions(-) diff --git a/lib/config/routes.dart b/lib/config/routes.dart index d36038ad0..d014a23a7 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -188,43 +188,6 @@ abstract class AppRoutes { ), ], ), - ShellRoute( - pageBuilder: chatListShellRouteBuilder, - routes: [ - GoRoute( - path: '/homepage', - redirect: loggedOutRedirect, - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const SuggestionsPage(), - ), - routes: [ - ...newRoomRoutes, - GoRoute( - path: '/planner', - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const ActivityPlannerPage(), - ), - redirect: loggedOutRedirect, - routes: [ - GoRoute( - path: '/generator', - redirect: loggedOutRedirect, - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const ActivityGenerator(), - ), - ), - ], - ), - ], - ), - ], - ), // Pangea# ShellRoute( // Never use a transition on the shell route. Changing the PageBuilder @@ -402,6 +365,40 @@ abstract class AppRoutes { : child, ), routes: [ + // #Pangea + GoRoute( + path: '/homepage', + redirect: loggedOutRedirect, + pageBuilder: (context, state) => defaultPageBuilder( + context, + state, + const SuggestionsPage(), + ), + routes: [ + ...newRoomRoutes, + GoRoute( + path: '/planner', + pageBuilder: (context, state) => defaultPageBuilder( + context, + state, + const ActivityPlannerPage(), + ), + redirect: loggedOutRedirect, + routes: [ + GoRoute( + path: '/generator', + redirect: loggedOutRedirect, + pageBuilder: (context, state) => defaultPageBuilder( + context, + state, + const ActivityGenerator(), + ), + ), + ], + ), + ], + ), + // Pangea# GoRoute( path: 'settings', pageBuilder: (context, state) => defaultPageBuilder( diff --git a/lib/pangea/activity_planner/activity_planner_page_appbar.dart b/lib/pangea/activity_planner/activity_planner_page_appbar.dart index c80eb5726..36dae1223 100644 --- a/lib/pangea/activity_planner/activity_planner_page_appbar.dart +++ b/lib/pangea/activity_planner/activity_planner_page_appbar.dart @@ -70,7 +70,7 @@ class ActivityPlannerPageAppBar extends StatelessWidget customBorder: const CircleBorder(), onTap: () => roomID != null ? context.go('/rooms/$roomID/planner/generator') - : context.go("/homepage/planner/generator"), + : context.go("/rooms/homepage/planner/generator"), child: Container( decoration: BoxDecoration( color: theme.colorScheme.surfaceContainerHighest, diff --git a/lib/pangea/activity_suggestions/activity_suggestions_area.dart b/lib/pangea/activity_suggestions/activity_suggestions_area.dart index 27360c8d7..e7c3335d3 100644 --- a/lib/pangea/activity_suggestions/activity_suggestions_area.dart +++ b/lib/pangea/activity_suggestions/activity_suggestions_area.dart @@ -180,7 +180,7 @@ class ActivitySuggestionsAreaState extends State { ), IconButton( icon: const Icon(Icons.menu_outlined), - onPressed: () => context.go('/homepage/planner'), + onPressed: () => context.go('/rooms/homepage/planner'), tooltip: L10n.of(context).activityPlannerTitle, ), ], diff --git a/lib/pangea/layouts/bottom_nav_layout.dart b/lib/pangea/layouts/bottom_nav_layout.dart index 4bd7ee99a..3332a673d 100644 --- a/lib/pangea/layouts/bottom_nav_layout.dart +++ b/lib/pangea/layouts/bottom_nav_layout.dart @@ -43,7 +43,7 @@ class BottomNavBarState extends State { void onItemTapped(int index) { switch (index) { case 0: - context.go('/homepage'); + context.go('/rooms/homepage'); break; case 1: context.go('/rooms');