feat: bring back share link to join spaces (#1701)
parent
8dd74d7e8a
commit
7c8f917370
@ -0,0 +1,45 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import 'package:fluffychat/widgets/future_loading_dialog.dart';
|
||||
import 'package:fluffychat/widgets/layouts/empty_page.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
|
||||
class JoinWithAlias extends StatefulWidget {
|
||||
const JoinWithAlias({super.key});
|
||||
|
||||
@override
|
||||
State<JoinWithAlias> createState() => _JoinWithAliasState();
|
||||
}
|
||||
|
||||
class _JoinWithAliasState extends State<JoinWithAlias> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => showFutureLoadingDialog(
|
||||
context: context,
|
||||
future: () async => _joinRoom(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> _joinRoom() async {
|
||||
final String? alias =
|
||||
GoRouterState.of(context).uri.queryParameters['alias'];
|
||||
|
||||
if (alias == null || alias.isEmpty) {
|
||||
context.go("/rooms");
|
||||
return;
|
||||
}
|
||||
|
||||
await MatrixState.pangeaController.classController.joinCachedRoomAlias(
|
||||
alias,
|
||||
context,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => const EmptyPage();
|
||||
}
|
||||
Loading…
Reference in New Issue