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.

65 lines
2.2KB

  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. import 'presentation/screens/task/bloc/task_bloc.dart';
  17. final GlobalKey<NavigatorState> globalNavigator = GlobalKey<NavigatorState>();
  18. Future<void> main() async {
  19. WidgetsFlutterBinding.ensureInitialized();
  20. Firebase.initializeApp();
  21. // if (Platform.isAndroid) {
  22. // await Firebase.initializeApp(
  23. // options: DefaultFirebaseOptions.currentPlatform,
  24. // );
  25. // } else {
  26. // await Firebase.initializeApp();
  27. // }
  28. // await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(alert: true, badge: true, sound: true);
  29. // FirebaseMessaging.onBackgroundMessage(FirebaseMessages.firebaseMessagingBackgroundHandler);
  30. // FirebaseMessaging.onMessageOpenedApp.listen(FirebaseMessages.firebaseMessagingBackgroundHandler);
  31. await SystemChrome.setPreferredOrientations([
  32. DeviceOrientation.portraitDown,
  33. DeviceOrientation.portraitUp,
  34. ]);
  35. setFlavorDevelopment();
  36. final appDocumentDirectory = await getApplicationDocumentsDirectory();
  37. Hive..init(appDocumentDirectory.path);
  38. await Hive.openBox('LocalDBName');
  39. runApp(
  40. MultiBlocProvider(
  41. providers: [
  42. BlocProvider(
  43. create: (_) => StampBloc(
  44. Repository(),
  45. ),
  46. ),
  47. BlocProvider(
  48. create: (_) => TaskBloc(
  49. Repository(),
  50. ),
  51. ),
  52. BlocProvider(
  53. create: (_) => DetailStampCubit(),
  54. ),
  55. ],
  56. child: App(
  57. authenticationRepository: AuthenticationRepository(),
  58. ),
  59. ),
  60. );
  61. }