-
Notifications
You must be signed in to change notification settings - Fork 131
Expand file tree
/
Copy pathmain.dart
More file actions
63 lines (59 loc) · 2.46 KB
/
Copy pathmain.dart
File metadata and controls
63 lines (59 loc) · 2.46 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_whirlpool/screens/main/main_screen.dart';
import 'package:flutter_whirlpool/view_models/dev_view_model.dart';
import 'package:flutter_whirlpool/view_models/language_view_model.dart';
import 'package:flutter_whirlpool/view_models/main_view_model.dart';
import 'package:flutter_whirlpool/view_models/service_locator.dart';
import 'package:flutter_whirlpool/view_models/timer_view_model.dart';
import 'package:provider/provider.dart';
import 'core/lang/app_localizations.dart';
void main() {
ServiceLocator.init();
runApp(MyApp());
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(
create: (_) => ServiceLocator.get<DevViewModel>()),
ChangeNotifierProvider(
create: (_) => ServiceLocator.get<MainViewModel>()),
ChangeNotifierProvider(
create: (_) => ServiceLocator.get<TimerViewModel>()),
ChangeNotifierProvider(
create: (_) => ServiceLocator.get<LanguageViewModel>()),
],
child: Consumer<LanguageViewModel>(
builder: (context, model, child) {
return MaterialApp(
locale: model.appLocal,
title: 'Smart Washing Machine',
// List all of the app's supported locales here
supportedLocales: [
Locale('en', 'US'),
Locale('fa', 'IR'),
],
// These delegates make sure that the localization data for the proper language is loaded
localizationsDelegates: [
// A class which loads the translations from JSON files
AppLocalizations.delegate,
// Built-in localization of basic text for Material widgets
GlobalMaterialLocalizations.delegate,
// Built-in localization for text direction LTR/RTL
GlobalWidgetsLocalizations.delegate,
],
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
fontFamily: model.isRTL ? "Vazir" : null),
home: MainScreen(),
);
},
));
}
}