diff --git a/lib/routes.dart b/lib/routes.dart index 84607a1..ff2fa15 100644 --- a/lib/routes.dart +++ b/lib/routes.dart @@ -1,6 +1,7 @@ // routes.dart import 'package:firebase_ui_auth/firebase_ui_auth.dart'; import 'package:flutter/material.dart'; +import 'package:telemednet/data/telemed_user.dart'; import 'package:telemednet/screens/launch_screen.dart'; import 'package:telemednet/route_names.dart'; import 'package:telemednet/screens/user_profile_screen.dart'; @@ -12,6 +13,9 @@ final Map routes = { providers: [EmailAuthProvider(), PhoneAuthProvider()], ), RouteNames.signUp: (context) => const RegisterScreen(), - RouteNames.userProfile: (context) => const UserProfileScreen(), + RouteNames.userProfile: (context) { + var user = ModalRoute.of(context)!.settings.arguments as TelemedUser?; + return UserProfileScreen(user: user); + }, RouteNames.userHome: (context) => const UserScreen(), }; diff --git a/lib/screens/launch_screen.dart b/lib/screens/launch_screen.dart index d59c8e0..424680d 100644 --- a/lib/screens/launch_screen.dart +++ b/lib/screens/launch_screen.dart @@ -79,9 +79,11 @@ class _LaunchScreenState extends State { if (mounted) { setState(() { if (profile == null) { - Navigator.of(context).pushReplacementNamed(RouteNames.userProfile); + Navigator.of(context) + .pushReplacementNamed(RouteNames.userProfile, arguments: profile); } else { - Navigator.of(context).pushReplacementNamed(RouteNames.userHome); + Navigator.of(context) + .pushReplacementNamed(RouteNames.userHome, arguments: profile); } }); } diff --git a/lib/screens/user_profile_screen.dart b/lib/screens/user_profile_screen.dart index e8a9fdf..cec377e 100644 --- a/lib/screens/user_profile_screen.dart +++ b/lib/screens/user_profile_screen.dart @@ -1,7 +1,22 @@ import 'package:flutter/material.dart'; +import 'package:telemednet/data/telemed_user.dart'; -class UserProfileScreen extends StatelessWidget { - const UserProfileScreen({super.key}); +class UserProfileScreen extends StatefulWidget { + final TelemedUser? user; + const UserProfileScreen({super.key, required this.user}); + + @override + State createState() => _UserProfileScreenState(); +} + +class _UserProfileScreenState extends State { + TelemedUser? user; + + @override + void initState() { + super.initState(); + user = widget.user; + } @override Widget build(BuildContext context) {