import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'core/app_export.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:path_provider/path_provider.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; var globalMessengerKey = GlobalKey(); void main() async { WidgetsFlutterBinding.ensureInitialized(); final appDocumentDir = await getApplicationDocumentsDirectory(); final path = appDocumentDir.path; await dotenv.load(fileName: ".env"); await Hive.initFlutter(path); SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, ]); await PrefUtils().init(); runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return BlocProvider( create: (context) => ThemeBloc( ThemeState( themeType: PrefUtils().getThemeData(), ), ), child: BlocBuilder( builder: (context, state) { return MaterialApp( theme: theme, title: 'Eatvio', navigatorKey: NavigatorService.navigatorKey, debugShowCheckedModeBanner: false, localizationsDelegates: [ AppLocalizationDelegate(), GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: [ Locale( 'ru', '', ), ], initialRoute: AppRoutes.initialRoute, routes: AppRoutes.routes, ); }, ), ); } }