From 19809a6f2deff8ab206b0d4f40b36616b099ab20 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 17 May 2024 12:10:36 -0400 Subject: [PATCH 1/3] When a user creates a new group from inside a class, the space ID will be stored via query --- lib/config/routes.dart | 30 +++++++++++++++---------- lib/pages/chat_list/start_chat_fab.dart | 6 +++-- lib/pages/new_group/new_group.dart | 9 +++++++- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/lib/config/routes.dart b/lib/config/routes.dart index 8d4d4f181..e6ab37967 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -232,20 +232,26 @@ abstract class AppRoutes { pageBuilder: (context, state) => defaultPageBuilder( context, state, - const NewGroup(), + NewGroup( + // #Pangea + spaceId: state.uri.queryParameters['spaceId'], + // Pangea# + ), ), redirect: loggedOutRedirect, - routes: [ - GoRoute( - path: ':spaceid', - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const NewGroup(), - ), - redirect: loggedOutRedirect, - ), - ], + // #Pangea + // routes: [ + // GoRoute( + // path: ':spaceid', + // pageBuilder: (context, state) => defaultPageBuilder( + // context, + // state, + // const NewGroup(), + // ), + // redirect: loggedOutRedirect, + // ), + // ], + // Pangea# ), GoRoute( path: 'newspace', diff --git a/lib/pages/chat_list/start_chat_fab.dart b/lib/pages/chat_list/start_chat_fab.dart index 2bea8537e..c9175b8d6 100644 --- a/lib/pages/chat_list/start_chat_fab.dart +++ b/lib/pages/chat_list/start_chat_fab.dart @@ -30,7 +30,8 @@ class StartChatFloatingActionButton extends StatelessWidget { void _onPressed(BuildContext context) async { //#Pangea if (controller.activeSpaceId != null) { - context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); + // context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); + context.go('/rooms/newgroup?spaceId=${controller.activeSpaceId ?? ''}'); return; } //Pangea# @@ -44,7 +45,8 @@ class StartChatFloatingActionButton extends StatelessWidget { case ActiveFilter.groups: // #Pangea // context.go('/rooms/newgroup'); - context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); + // context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); + context.go('/rooms/newgroup?spaceId=${controller.activeSpaceId ?? ''}'); // Pangea# break; case ActiveFilter.spaces: diff --git a/lib/pages/new_group/new_group.dart b/lib/pages/new_group/new_group.dart index 16d4e2cdb..90c658a45 100644 --- a/lib/pages/new_group/new_group.dart +++ b/lib/pages/new_group/new_group.dart @@ -17,7 +17,14 @@ import 'package:go_router/go_router.dart'; import 'package:matrix/matrix.dart' as sdk; class NewGroup extends StatefulWidget { - const NewGroup({super.key}); + // #Pangea + final String? spaceId; + + const NewGroup({ + super.key, + this.spaceId, + }); + // Pangea# @override NewGroupController createState() => NewGroupController(); From b2166906c37be52a963005345ca79b96a2d11041 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 17 May 2024 16:26:04 -0400 Subject: [PATCH 2/3] Use query parameter to autoselect class --- lib/pages/new_group/new_group.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/new_group/new_group.dart b/lib/pages/new_group/new_group.dart index 90c658a45..2ada80dfa 100644 --- a/lib/pages/new_group/new_group.dart +++ b/lib/pages/new_group/new_group.dart @@ -57,7 +57,7 @@ class NewGroupController extends State { void setVocab(List vocab) => setState(() => chatTopic.vocab = vocab); String? get activeSpaceId => - GoRouterState.of(context).pathParameters['spaceid']; + GoRouterState.of(context).uri.queryParameters['spaceId']; // Pangea# void setPublicGroup(bool b) => setState(() => publicGroup = b); From c88970d8598c4a686bbba6646e314a835f9da9b9 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Fri, 17 May 2024 16:37:39 -0400 Subject: [PATCH 3/3] removed unused comments --- lib/pages/chat_list/start_chat_fab.dart | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/pages/chat_list/start_chat_fab.dart b/lib/pages/chat_list/start_chat_fab.dart index c9175b8d6..117833ff0 100644 --- a/lib/pages/chat_list/start_chat_fab.dart +++ b/lib/pages/chat_list/start_chat_fab.dart @@ -30,7 +30,6 @@ class StartChatFloatingActionButton extends StatelessWidget { void _onPressed(BuildContext context) async { //#Pangea if (controller.activeSpaceId != null) { - // context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); context.go('/rooms/newgroup?spaceId=${controller.activeSpaceId ?? ''}'); return; } @@ -45,7 +44,6 @@ class StartChatFloatingActionButton extends StatelessWidget { case ActiveFilter.groups: // #Pangea // context.go('/rooms/newgroup'); - // context.go('/rooms/newgroup/${controller.activeSpaceId ?? ''}'); context.go('/rooms/newgroup?spaceId=${controller.activeSpaceId ?? ''}'); // Pangea# break;