import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../services/auth_service.dart'; /// Auth service provider final authServiceProvider = Provider((ref) { return AuthService(); }); /// Current user provider final currentUserProvider = Provider((ref) { final authService = ref.watch(authServiceProvider); // Watch authStateProvider to trigger re-evaluation on login/logout ref.watch(authStateProvider); return authService.currentUser; }); /// Auth state stream provider final authStateProvider = StreamProvider((ref) { final authService = ref.watch(authServiceProvider); return authService.authStateChanges; }); /// Is authenticated provider final isAuthenticatedProvider = Provider((ref) { final authService = ref.watch(authServiceProvider); ref.watch(authStateProvider); return authService.currentUser != null; }); /// Provider to trigger UI effects when email is verified via deep link final emailVerifiedEventProvider = StateProvider((ref) => false);