import 'package:didvan/config/theme_data.dart'; import 'package:didvan/providers/server_data_provider.dart'; import 'package:didvan/providers/theme_provider.dart'; import 'package:didvan/providers/user_provider.dart'; import 'package:didvan/routes/route_generator.dart'; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:provider/provider.dart'; void main() { runApp(const Didvan()); } final GlobalKey navigatorKey = GlobalKey(); final GlobalKey materialKey = GlobalKey(); class Didvan extends StatelessWidget { const Didvan({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider( create: (context) => UserProvider(), ), ChangeNotifierProvider( create: (context) => ServerDataProvider(), ), ChangeNotifierProvider( create: (context) => ThemeProvider(), ), ], child: Consumer( builder: (context, themeProvider, child) => MaterialApp( key: materialKey, navigatorKey: navigatorKey, debugShowCheckedModeBanner: false, title: 'Didvan', theme: LightThemeConfig.themeData, darkTheme: DarkThemeConfig.themeData, color: LightThemeConfig.themeData.primaryColor, themeMode: themeProvider.themeMode, onGenerateRoute: (settings) => RouteGenerator.generateRoute(settings), initialRoute: '/', localizationsDelegates: const [ GlobalCupertinoLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: const [ Locale("fa", "IR"), ], locale: const Locale("fa", "IR"), ), ), ); } }