import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'core/auth/bloc/temp_auth_bloc.dart'; import 'core/auth/models/auth_state.dart'; import 'features/splash/presentation/pages/splash_screen.dart'; import 'features/auth/presentation/pages/login_page.dart'; import 'features/navigation/presentation/pages/main_navigation.dart'; /// Wrapper principal de l'application qui gère la navigation basée sur l'état d'authentification class AppWrapper extends StatelessWidget { const AppWrapper({super.key}); @override Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { switch (state.status) { case AuthStatus.unknown: case AuthStatus.checking: // Afficher l'écran de chargement pendant l'initialisation return const SplashScreen(); case AuthStatus.authenticated: // Utilisateur connecté -> Navigation principale return const MainNavigation(); case AuthStatus.unauthenticated: case AuthStatus.error: case AuthStatus.expired: // Utilisateur non connecté -> Écran de connexion return const LoginPage(); } }, ); } }