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.

71 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:farm_tpf/presentation/screens/plot/bloc/plot_bloc.dart';
  7. import 'package:firebase_core/firebase_core.dart';
  8. import 'package:flutter/material.dart';
  9. import 'package:flutter/services.dart';
  10. import 'package:flutter_bloc/flutter_bloc.dart';
  11. import 'package:flutter_local_notifications/flutter_local_notifications.dart';
  12. import 'package:get/get.dart';
  13. import 'package:hive/hive.dart';
  14. import 'package:path_provider/path_provider.dart';
  15. import 'app.dart';
  16. // import 'data/repository/auth_repository.dart';
  17. import 'data/repository/authentication_repository.dart';
  18. import 'environment/app_config.dart';
  19. import 'presentation/screens/task/bloc/task_bloc.dart';
  20. final GlobalKey<NavigatorState> globalNavigator = GlobalKey<NavigatorState>();
  21. @pragma('vm:entry-point')
  22. void notificationTapBackground(NotificationResponse notificationResponse) {
  23. // handle action
  24. print('message from background: $notificationResponse');
  25. }
  26. Future<void> main() async {
  27. WidgetsFlutterBinding.ensureInitialized();
  28. await Firebase.initializeApp();
  29. await SystemChrome.setPreferredOrientations([
  30. DeviceOrientation.portraitDown,
  31. DeviceOrientation.portraitUp,
  32. ]);
  33. setFlavorDevelopment();
  34. final appDocumentDirectory = await getApplicationDocumentsDirectory();
  35. Hive..init(appDocumentDirectory.path);
  36. await Hive.openBox('LocalDBName');
  37. runApp(
  38. MultiBlocProvider(
  39. providers: [
  40. BlocProvider(
  41. create: (_) => StampBloc(
  42. Repository(),
  43. ),
  44. ),
  45. BlocProvider(
  46. create: (_) => TaskBloc(
  47. Repository(),
  48. ),
  49. ),
  50. BlocProvider(
  51. create: (_) => PlotBloc(
  52. repository: Repository(),
  53. ),
  54. ),
  55. BlocProvider(
  56. create: (_) => DetailStampCubit(),
  57. ),
  58. ],
  59. child: App(
  60. authenticationRepository: AuthenticationRepository(),
  61. ),
  62. ),
  63. );
  64. }