36 lines
983 B
Dart
36 lines
983 B
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import '../services/auth_service.dart';
|
|
|
|
final authServiceProvider = Provider<AuthService>((ref) {
|
|
return AuthService();
|
|
});
|
|
|
|
final currentUserProvider = Provider<User?>((ref) {
|
|
final authService = ref.watch(authServiceProvider);
|
|
ref.watch(authStateProvider);
|
|
return authService.currentUser;
|
|
});
|
|
|
|
final authStateProvider = StreamProvider<AuthState>((ref) {
|
|
final authService = ref.watch(authServiceProvider);
|
|
return authService.authStateChanges;
|
|
});
|
|
|
|
final isAuthenticatedProvider = Provider<bool>((ref) {
|
|
final authService = ref.watch(authServiceProvider);
|
|
ref.watch(authStateProvider);
|
|
|
|
return authService.currentUser != null;
|
|
});
|
|
|
|
class EmailVerifiedEventNotifier extends Notifier<bool> {
|
|
@override
|
|
bool build() => false;
|
|
|
|
void set(bool value) => state = value;
|
|
}
|
|
|
|
final emailVerifiedEventProvider =
|
|
NotifierProvider<EmailVerifiedEventNotifier, bool>(
|
|
EmailVerifiedEventNotifier.new);
|