-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathmain.dart
45 lines (39 loc) · 1.31 KB
/
main.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_starter/helpers/empty.view.dart';
import 'package:flutter_starter/helpers/theme.dart';
import 'package:flutter_starter/providers/theme.provider.dart';
import 'package:provider/provider.dart';
import 'locator.dart';
import 'routes.dart';
/// [globalInitializer()]
/// Function to initialise all the pre-app things
globalInitializer() async {
WidgetsFlutterBinding.ensureInitialized();
setupLocator();
// await Firebase.initializeApp();
}
void main() async {
await globalInitializer();
runApp(const App());
}
class App extends StatelessWidget {
const App({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
/// Here you should register the ViewModels you want to use across many screens with
/// the WideScopeBaseView
ChangeNotifierProvider(create: (context) => locator<EmptyViewModel>()),
/// You should register yoyr providers here too
ChangeNotifierProvider(create: (context) => locator<ThemeProvider>()),
],
child: MaterialApp(
title: 'Flutter Demo',
theme: appTheme,
onGenerateRoute: (settings) => AppRouter.generateRoute(settings),
),
);
}
}