import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:lba/screens/auth/login_page.dart'; import 'package:lba/screens/mains/navigation/navigation.dart'; import 'package:lba/screens/auth/bloc/auth_bloc.dart'; class AuthGate extends StatelessWidget { const AuthGate({super.key}); @override Widget build(BuildContext context) { return BlocListener( listener: (context, state) { if (state is AuthInitial) { Navigator.of(context).pushAndRemoveUntil( MaterialPageRoute(builder: (context) => const LoginPage()), (route) => false, ); } }, child: StreamBuilder( stream: FirebaseAuth.instance.authStateChanges(), builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.waiting) { return const Scaffold( body: Center( child: CircularProgressIndicator(), ), ); } if (!snapshot.hasData || snapshot.data == null) { return const LoginPage(); } return const MainScreen(); }, ), ); } }