import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:hive_ce_flutter/hive_flutter.dart'; import 'package:remever/app.dart'; import 'package:remever/env.dart'; import 'package:remever/i18n/strings.g.dart'; import 'package:remever/inject.dart'; import 'package:remever/router.dart'; import 'package:remever/services/warmup_service.dart'; void _onError(Object error, StackTrace trace) { debugPrint('error ${error.toString()}'); } void _flutterError(FlutterErrorDetails details) { debugPrint('error ${details.context}'); } bool _platformDispatcher(Object exception, StackTrace stackTrace) { if ('$exception'.toLowerCase().contains('dio')) return true; debugPrint('error ${exception.toString()}'); return true; } void main() { runZonedGuarded(() async { WidgetsFlutterBinding.ensureInitialized(); await Hive.initFlutter(); await configureDependencies(); configureEnv(); if (!kIsWeb) { await ScreenUtil.ensureScreenSize(); } FlutterError.onError = _flutterError; PlatformDispatcher.instance.onError = _platformDispatcher; getIt.registerSingleton(AppRouter()); await getIt().firstStart(); runApp(TranslationProvider(child: const MyApp())); }, _onError); }