11import 'package:logging/logging.dart' ;
22import 'package:riverpod_annotation/riverpod_annotation.dart' ;
3+ import 'package:zoe/features/users/models/user_model.dart' ;
4+ import 'package:zoe/features/users/providers/user_providers.dart' ;
35import '../../../common/providers/service_providers.dart' ;
4- import '../models/auth_user_model.dart' ;
56import '../services/auth_service.dart' ;
67
78part 'auth_providers.g.dart' ;
@@ -12,7 +13,7 @@ class AuthState extends _$AuthState {
1213 final Logger _logger = Logger ('AuthState' );
1314
1415 @override
15- Future <AuthUserModel ?> build () async {
16+ Future <UserModel ?> build () async {
1617 final authService = ref.watch (authServiceProvider);
1718 final prefsService = ref.watch (preferencesServiceProvider);
1819
@@ -43,7 +44,7 @@ class AuthState extends _$AuthState {
4344 if (! ref.mounted) return ;
4445
4546 state = AsyncValue .data (
46- user == null ? null : AuthUserModel .fromFirebaseUser (user),
47+ user == null ? null : UserModel .fromFirebaseUser (user),
4748 );
4849 },
4950 onError: (e, s) {
@@ -59,7 +60,7 @@ class AuthState extends _$AuthState {
5960 // Return initial state
6061 return firebaseUser == null
6162 ? null
62- : AuthUserModel .fromFirebaseUser (firebaseUser);
63+ : UserModel .fromFirebaseUser (firebaseUser);
6364 }
6465
6566 /// Sign up with email and password
@@ -76,7 +77,12 @@ class AuthState extends _$AuthState {
7677 password: password,
7778 displayName: name.trim (),
7879 );
79- // State will be updated by authStateChanges listener
80+
81+ final firebaseUser = authService.currentUser;
82+ if (firebaseUser != null ) {
83+ final newUser = UserModel .fromFirebaseUser (firebaseUser);
84+ await ref.read (userListProvider.notifier).addUser (newUser);
85+ }
8086 } catch (e, st) {
8187 _logger.severe ('Sign up error: $e ' );
8288 state = AsyncValue .error (e, st);
0 commit comments