Merge pull request #215 from pangeachat/new-group-query-instead-of-path

New group uses query to store space ID
This commit is contained in:
ggurdin 2024-05-17 16:38:02 -04:00 committed by GitHub
commit e156408a63
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 29 additions and 16 deletions

View file

@ -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',

View file

@ -30,7 +30,7 @@ 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;
}
//Pangea#
@ -44,7 +44,7 @@ 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;
case ActiveFilter.spaces:

View file

@ -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();
@ -50,7 +57,7 @@ class NewGroupController extends State<NewGroup> {
void setVocab(List<Lemma> 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);