Files
c_trans_mobile/lib/main.dart
jahongireshonqulov 1bf3e41abe Initial commit
2025-10-18 09:40:06 +05:00

52 lines
1.6 KiB
Dart

import 'package:cargocalculaterapp/service/notification_service.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'app.dart';
import 'core/app_bloc/app_bloc.dart';
import 'injector_container.dart' as di;
import 'injector_container.dart';
void main() async {
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
await NotificationService.initialize();
/// init crashlytics
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
PlatformDispatcher.instance.onError = (error, stack) {
FirebaseCrashlytics.instance.recordError(error, stack);
return true;
};
/// bloc logger
if (kDebugMode) {
Bloc.observer = LogBlocObserver();
}
await di.init();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [BlocProvider(create: (_) => sl<AppBloc>())],
child: const App(),
);
}
}
// flutter pub run flutter_launcher_icons:main
// flutter run -d windows --no-sound-null-safety
// flutter build apk --release --no-sound-null-safety
// flutter build apk --split-per-abi --no-sound-null-safety
// flutter build appbundle --release --no-sound-null-safety
// flutter pub run build_runner watch --delete-conflicting-outputs
// flutter pub run flutter_native_splash:create