import 'package:food_delivery_client/feature/common/presentation/blocs/language_bloc/language_bloc.dart'; import 'food_delivery_client.dart'; void main() { runZonedGuarded( () async{ WidgetsFlutterBinding.ensureInitialized(); FlutterError.onError = (details) { FlutterError.presentError(details); log("Flutter.onError $details"); }; Bloc.observer = AppBlocObserver(); await configureDependencies(); runApp( BlocProvider(create: (context) => sl(), child: MyApp()), ); }, (error, stack) { log("RunZoneGuard Error $error"); }, ); } class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState(); } class _MyAppState extends State { @override void initState() { SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, DeviceOrientation.portraitDown, ]); super.initState(); } @override Widget build(BuildContext context) { return BlocBuilder( bloc: context.read()..add(LanguageEvent.started()), builder: (context, state) { return MaterialApp.router( title: "Uber Eats", debugShowCheckedModeBanner: false, theme: AppTheme.lightTheme, routerConfig: sl().router, locale: state.currentLocale, supportedLocales: L10n.locales, localizationsDelegates: [ AppLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], builder: (context, child) => GestureDetector( onTap: () { FocusManager.instance.primaryFocus?.unfocus(); }, child: MediaQuery( data: MediaQuery.of( context, ).copyWith(textScaler: const TextScaler.linear(1)), child: child!, ), ), ); }, ); } }