import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:sales_chat/providers/auth_provider.dart'; import 'package:sales_chat/providers/chat_provider.dart'; import 'package:sales_chat/providers/invite_provider.dart'; import 'package:sales_chat/providers/stats_provider.dart'; import 'package:sales_chat/theme/app_theme.dart'; import 'package:sales_chat/pages/login_page.dart'; import 'package:sales_chat/pages/register_page.dart'; import 'package:sales_chat/pages/home_page.dart'; import 'package:sales_chat/services/api_service.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); final apiService = ApiService(); runApp(MyApp(apiService: apiService)); } class MyApp extends StatelessWidget { final ApiService apiService; const MyApp({ super.key, required this.apiService, }); @override Widget build(BuildContext context) { return MultiProvider( providers: [ Provider.value(value: apiService), ChangeNotifierProvider(create: (_) => AuthProvider(apiService)), ChangeNotifierProvider(create: (_) => ChatProvider(apiService)), ChangeNotifierProvider(create: (_) => InviteProvider(apiService)), ChangeNotifierProvider(create: (_) => StatsProvider(apiService)), ], child: Consumer( builder: (context, auth, _) { return MaterialApp( title: 'Sales Chat', debugShowCheckedModeBanner: false, theme: AppTheme.lightTheme, darkTheme: AppTheme.darkTheme, themeMode: ThemeMode.light, home: auth.isLoggedIn ? const HomePage() : const LoginPage(), routes: { '/login': (context) => const LoginPage(), '/register': (context) => const RegisterPage(), '/home': (context) => const HomePage(), }, ); }, ), ); } }