You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.0KB

  1. // import 'package:barcode_scan/barcode_scan.dart';
  2. import 'dart:io';
  3. import 'package:farm_tpf/data/repository/repository.dart';
  4. import 'package:farm_tpf/presentation/screens/codes/bloc/stamp_bloc.dart';
  5. import 'package:farm_tpf/presentation/screens/codes/cubit/detail_stamp_cubit.dart';
  6. import 'package:firebase_core/firebase_core.dart';
  7. import 'package:flutter/material.dart';
  8. import 'package:flutter/services.dart';
  9. import 'package:flutter_bloc/flutter_bloc.dart';
  10. import 'package:hive/hive.dart';
  11. import 'package:path_provider/path_provider.dart';
  12. import 'app.dart';
  13. // import 'data/repository/auth_repository.dart';
  14. import 'data/repository/authentication_repository.dart';
  15. import 'environment/app_config.dart';
  16. final GlobalKey<NavigatorState> globalNavigator = GlobalKey<NavigatorState>();
  17. Future<void> main() async {
  18. WidgetsFlutterBinding.ensureInitialized();
  19. Firebase.initializeApp();
  20. // if (Platform.isAndroid) {
  21. // await Firebase.initializeApp(
  22. // options: DefaultFirebaseOptions.currentPlatform,
  23. // );
  24. // } else {
  25. // await Firebase.initializeApp();
  26. // }
  27. // await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(alert: true, badge: true, sound: true);
  28. // FirebaseMessaging.onBackgroundMessage(FirebaseMessages.firebaseMessagingBackgroundHandler);
  29. // FirebaseMessaging.onMessageOpenedApp.listen(FirebaseMessages.firebaseMessagingBackgroundHandler);
  30. await SystemChrome.setPreferredOrientations([
  31. DeviceOrientation.portraitDown,
  32. DeviceOrientation.portraitUp,
  33. ]);
  34. setFlavorDevelopment();
  35. final appDocumentDirectory = await getApplicationDocumentsDirectory();
  36. Hive..init(appDocumentDirectory.path);
  37. await Hive.openBox('LocalDBName');
  38. runApp(
  39. MultiBlocProvider(
  40. providers: [
  41. BlocProvider(
  42. create: (_) => StampBloc(
  43. Repository(),
  44. ),
  45. ),
  46. BlocProvider(
  47. create: (_) => DetailStampCubit(),
  48. ),
  49. ],
  50. child: App(
  51. authenticationRepository: AuthenticationRepository(),
  52. ),
  53. ),
  54. );
  55. }