|
|
|
@ -1,7 +1,6 @@
|
|
|
|
import 'package:fluffychat/pangea/constants/url_query_parameter_keys.dart';
|
|
|
|
import 'package:fluffychat/pangea/constants/url_query_parameter_keys.dart';
|
|
|
|
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
|
|
|
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
|
|
|
import 'package:fluffychat/pangea/utils/class_code.dart';
|
|
|
|
import 'package:fluffychat/pangea/utils/class_code.dart';
|
|
|
|
import 'package:fluffychat/widgets/layouts/empty_page.dart';
|
|
|
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
|
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
|
|
import 'package:go_router/go_router.dart';
|
|
|
|
import 'package:go_router/go_router.dart';
|
|
|
|
@ -28,7 +27,7 @@ class _JoinClassWithLinkState extends State<JoinClassWithLink> {
|
|
|
|
void initState() {
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
super.initState();
|
|
|
|
|
|
|
|
|
|
|
|
Future.delayed(Duration.zero, () {
|
|
|
|
Future.delayed(Duration.zero, () async {
|
|
|
|
classCode = GoRouterState.of(context)
|
|
|
|
classCode = GoRouterState.of(context)
|
|
|
|
.uri
|
|
|
|
.uri
|
|
|
|
.queryParameters[UrlQueryParameterKeys.classCode];
|
|
|
|
.queryParameters[UrlQueryParameterKeys.classCode];
|
|
|
|
@ -42,35 +41,32 @@ class _JoinClassWithLinkState extends State<JoinClassWithLink> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (!Matrix.of(context).client.isLogged()) {
|
|
|
|
if (!Matrix.of(context).client.isLogged()) {
|
|
|
|
return ClassCodeUtil.messageDialog(
|
|
|
|
await _pangeaController.pStoreService.save(
|
|
|
|
context, L10n.of(context)!.pleaseLoginFirst, () async {
|
|
|
|
PLocalKey.cachedClassCodeToJoin,
|
|
|
|
await _pangeaController.pStoreService.save(
|
|
|
|
classCode,
|
|
|
|
PLocalKey.cachedClassCodeToJoin,
|
|
|
|
addClientIdToKey: false,
|
|
|
|
classCode,
|
|
|
|
local: true,
|
|
|
|
addClientIdToKey: false,
|
|
|
|
);
|
|
|
|
local: true,
|
|
|
|
context.go("/home");
|
|
|
|
);
|
|
|
|
return;
|
|
|
|
context.go("/home");
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
_pangeaController.classController
|
|
|
|
_pangeaController.classController
|
|
|
|
.joinClasswithCode(
|
|
|
|
.joinClasswithCode(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
classCode!,
|
|
|
|
classCode!,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
.onError(
|
|
|
|
.onError((error, stackTrace) {
|
|
|
|
(error, stackTrace) => ClassCodeUtil.messageSnack(
|
|
|
|
ClassCodeUtil.messageSnack(
|
|
|
|
context,
|
|
|
|
context,
|
|
|
|
ErrorCopy(context, error).body,
|
|
|
|
ErrorCopy(context, error).body,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
)
|
|
|
|
}).whenComplete(
|
|
|
|
.whenComplete(
|
|
|
|
() => context.go("/rooms"),
|
|
|
|
() => context.go("/rooms"),
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) => const EmptyPage();
|
|
|
|
Widget build(BuildContext context) => const SizedBox();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|