This commit is contained in:
J. A. Messias 2024-10-09 14:22:33 -03:00
parent 691c318688
commit 69ecb375dd
2 changed files with 1 additions and 34 deletions

View File

@ -191,7 +191,7 @@ class _AppState extends State<App> {
() => setState(() => _appStateNotifier.stopShowingSplashImage()));
_setupFirebaseMessaging();
// WidgetsBinding.instance.addPersistentFrameCallback((_) => initDeepLinks());
WidgetsBinding.instance.addPersistentFrameCallback((_) => initDeepLinks());
}
@override void dispose() {
_linkSubscription?.cancel();

View File

@ -10,7 +10,6 @@ import 'package:hub/shared/utils/storage_util.dart';
import '/components/templates_components/welcome_template_component/welcome_template_component_widget.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'welcome_page_model.dart';
export 'welcome_page_model.dart';
@ -24,8 +23,6 @@ class WelcomePageWidget extends StatefulWidget with Switcher {
class _WelcomePageWidgetState extends State<WelcomePageWidget> {
late WelcomePageModel _model;
late AppLinks _appLinks;
StreamSubscription<Uri>? _linkSubscription;
final scaffoldKey = GlobalKey<ScaffoldState>();
@ -45,47 +42,17 @@ class _WelcomePageWidgetState extends State<WelcomePageWidget> {
StorageUtil().deviceType = 'Web';
setState(() {});
}
WidgetsBinding.instance.addPersistentFrameCallback((_) => initDeepLinks());
});
}
@override void dispose() {
_model.dispose();
_linkSubscription?.cancel();
super.dispose();
}
Future<void> initDeepLinks() async {
_appLinks = AppLinks();
// Handle links
_linkSubscription = _appLinks.uriLinkStream.listen((uri) {
debugPrint('onAppLink: $uri');
openAppLink(uri);
});
}
void openAppLink(Uri uri) {
log('openAppLink');
log(uri.toString());
final String email = uri.queryParameters['email'] ?? '';
final String token = uri.queryParameters['token'] ?? '';
log('Email: $email');
log('Token: $token');
// Use the extracted email and token as needed
if (email.isNotEmpty && token.isNotEmpty) {
StorageUtil().context?.push('/forgotPassword', extra: {'email': email, 'token': token});
}
}
@override
Widget build(BuildContext context) {
StorageUtil().context = context;