passo_mobile_app/lib/main.dart

85 lines
2.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.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/utils/app_router.dart';
import 'package:unit2/utils/global_context.dart';
import 'package:path_provider/path_provider.dart' as path_provider;
import './utils/global.dart';
Future main() async {
WidgetsFlutterBinding.ensureInitialized();
var appDirectory = await path_provider.getApplicationDocumentsDirectory();
await Hive.initFlutter(appDirectory.path);
CREDENTIALS = await Hive.openBox<dynamic>('credentials');
SOS = await Hive.openBox<dynamic>('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.fromView(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,
),
);
}
}