mirror of
https://github.com/hmalik144/days_left_flutter.git
synced 2025-12-10 03:05:21 +00:00
- Implementation of firebase - Implementation of dependency injection Took 11 hours 26 minutes
39 lines
1.3 KiB
Dart
39 lines
1.3 KiB
Dart
import 'package:days_left/login/LoginScreen.dart';
|
|
import 'package:days_left/screens/OverviewScreen.dart';
|
|
import 'package:days_left/services/DialogService.dart';
|
|
import 'package:days_left/services/NavigationService.dart';
|
|
import 'package:days_left/viewmodels/UserAuthViewModel.dart';
|
|
import 'package:days_left/widgets/router.dart';
|
|
import 'package:firebase_core/firebase_core.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'locator.dart';
|
|
import 'managers/DialogManager.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await Firebase.initializeApp();
|
|
setupLocator();
|
|
runApp(MyApp());
|
|
}
|
|
|
|
class MyApp extends StatelessWidget {
|
|
final UserAuthViewModel _userAuthViewModel = locator<UserAuthViewModel>();
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: 'Flutter Demo',
|
|
theme: ThemeData(
|
|
primarySwatch: Colors.blue,
|
|
),
|
|
home: _userAuthViewModel.loggedIn ? OverviewScreen() : LoginScreen(),
|
|
onGenerateRoute: generateRoute,
|
|
builder: (context, child) => Navigator(
|
|
key: locator<DialogService>().dialogNavigationKey,
|
|
onGenerateRoute: (settings) => MaterialPageRoute(
|
|
builder: (context) => DialogManager(child: child)),
|
|
),
|
|
navigatorKey: locator<NavigationService>().navigationKey,
|
|
);
|
|
}
|
|
} |