import 'package:autos/core/routing/app_router.dart'; import 'package:autos/core/routing/route_paths.dart'; import 'package:autos/presentation/providers/user_provider.dart'; import 'package:autos/presentation/screens/auth/login_screen.dart'; import 'package:autos/presentation/screens/dashboard/dashboard_screen.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; void main() { runApp(const ProviderScope(child: MyApp())); } class MyApp extends ConsumerStatefulWidget { const MyApp({super.key}); @override ConsumerState createState() => _MyAppState(); } class _MyAppState extends ConsumerState { bool _isLoading = true; @override void initState() { super.initState(); _restoreSession(); } Future _restoreSession() async { final userNotifier = ref.read(userProvider.notifier); // Load user from secure storage await userNotifier.loadUserFromStorage(); setState(() => _isLoading = false); } @override Widget build(BuildContext context) { final userState = ref.watch(userProvider); final user = userState.value; // if (_isLoading) { // return const MaterialApp( // debugShowCheckedModeBanner: false, // home: Scaffold(body: Center(child: CircularProgressIndicator())), // ); // } return MaterialApp( debugShowCheckedModeBanner: false, title: "Autos", theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), ), /// Dynamic home based on session home: user != null ? DashboardScreen() : LoginScreen(), onGenerateRoute: AppRouter.generateRoute, ); } }