mirror of
https://bitbucket.org/myhomie/myhomie_app.git
synced 2025-12-06 00:51:19 +00:00
78 lines
2.2 KiB
Dart
78 lines
2.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:myhomie_app/client.dart';
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'Helpers/DatabaseHelper.dart';
|
|
import 'Models/homieContext.dart';
|
|
import 'Screens/Main/MainPage.dart';
|
|
import 'Screens/Login/login_screen.dart';
|
|
import 'app_context.dart';
|
|
import 'constants.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
String initialRoute;
|
|
HomieAppContext localContext = new HomieAppContext();
|
|
bool isLogged = false;
|
|
|
|
localContext = await DatabaseHelper.instance.getData();
|
|
|
|
if(localContext != null) {
|
|
print("we've got an local db !");
|
|
localContext.clientAPI = new Client(localContext.host); // TODO "http://192.168.31.140"
|
|
//isLogged = localContext.token != null; // TODO refresh token..
|
|
isLogged = false;
|
|
print(localContext);
|
|
} else {
|
|
print("NO LOCAL DB !");
|
|
}
|
|
|
|
initialRoute = isLogged ? '/home' : '/login';
|
|
|
|
final MyApp myApp = MyApp(
|
|
initialRoute: initialRoute,
|
|
homieAppContext: localContext,
|
|
);
|
|
|
|
runApp(myApp);
|
|
}
|
|
|
|
class MyApp extends StatefulWidget {
|
|
final String initialRoute;
|
|
final HomieAppContext homieAppContext;
|
|
MyApp({this.initialRoute, this.homieAppContext});
|
|
|
|
@override
|
|
_MyAppState createState() => _MyAppState();
|
|
}
|
|
|
|
class _MyAppState extends State<MyApp> {
|
|
//HomieAppContext homieAppContext;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return ChangeNotifierProvider<AppContext>(
|
|
create: (_) => AppContext(widget.homieAppContext),
|
|
child: MaterialApp(
|
|
debugShowCheckedModeBanner: false,
|
|
title: 'MyHomie App Demo',
|
|
initialRoute: widget.initialRoute,
|
|
/*supportedLocales: [
|
|
const Locale('en', 'US'),
|
|
//const Locale('fr', 'FR'),
|
|
],*/
|
|
theme: ThemeData(
|
|
primarySwatch: Colors.blue,
|
|
scaffoldBackgroundColor: kBackgroundColor,
|
|
//fontFamily: "Vollkorn",
|
|
textTheme: TextTheme(bodyText1: TextStyle(color: kBodyTextColor)),
|
|
visualDensity: VisualDensity.adaptivePlatformDensity,
|
|
),
|
|
routes: {
|
|
'/home': (context) => MainPage(),
|
|
'/login': (context) => LoginScreen()
|
|
}
|
|
),
|
|
);
|
|
}
|
|
} |