import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:device_preview/device_preview.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:hive/hive.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:unit2/bloc/profile/profile_bloc.dart'; import 'package:unit2/bloc/user/user_bloc.dart'; import 'package:unit2/theme-data.dart/colors.dart'; import 'package:unit2/utils/app_router.dart'; import 'package:unit2/utils/global_context.dart'; import 'package:unit2/utils/global_context.dart'; import 'package:path_provider/path_provider.dart' as path_provider; import './utils/router.dart'; import './utils/global.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); var appDirectory = await path_provider.getApplicationDocumentsDirectory(); await Hive.initFlutter(appDirectory.path); CREDENTIALS = await Hive.openBox('credentials'); SOS = await Hive.openBox('soscontacts'); SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]) .then((_) { runApp(MyApp()); }); } // void main() => runApp( // DevicePreview( // enabled: !kReleaseMode, // builder: (context) => const MyApp(), // Wrap your app // ), // ); class MyApp extends StatelessWidget { AppRouter? _appRouter; // This widget is the root of your application. @override Widget build(BuildContext context) { _appRouter = AppRouter(); final mediaQueryData = MediaQueryData.fromWindow(WidgetsBinding.instance.window); screenWidth = mediaQueryData.size.width; screenHeight = mediaQueryData.size.height; blockSizeHorizontal = screenWidth / 100; blockSizeVertical = screenHeight / 100; safeAreaHorizontal = mediaQueryData.padding.left + mediaQueryData.padding.right; safeAreaVertical = mediaQueryData.padding.top + mediaQueryData.padding.bottom; safeBlockHorizontal = (screenWidth - safeAreaHorizontal) / 100; safeBlockVertical = (screenHeight - safeAreaVertical) / 100; return MultiBlocProvider( providers: [ BlocProvider( create: (_) => UserBloc(), ), BlocProvider( create: (_) => ProfileBloc(), ), ], child: MaterialApp( navigatorKey: NavigationService.navigatorKey, // useInheritedMediaQuery: true, // locale: DevicePreview.locale(context), // builder: DevicePreview.appBuilder, // routeInformationParser: goRouter.routeInformationParser, // routerDelegate: goRouter.routerDelegate, // routeInformationProvider: goRouter.routeInformationProvider, title: 'uniT2 - Universal Tracker and Tracer', theme: ThemeData( primarySwatch: Colors.red, appBarTheme: const AppBarTheme( systemOverlayStyle: SystemUiOverlayStyle( statusBarBrightness: Brightness.dark, statusBarColor: Colors.black), ), fontFamily: 'LexendDeca', ), debugShowCheckedModeBanner: false, onGenerateRoute: _appRouter!.onGenerateRoute, ), ); } }