77 lines
2.4 KiB
Dart
77 lines
2.4 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:mymuseum_visitapp/Screens/Home/home.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'Helpers/DatabaseHelper.dart';
|
|
import 'Models/visitContext.dart';
|
|
import 'app_context.dart';
|
|
import 'constants.dart';
|
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
String initialRoute;
|
|
VisitAppContext? localContext = await DatabaseHelper.instance.getData(DatabaseTableType.main);
|
|
|
|
if(localContext != null) {
|
|
print("we've got an local db !");
|
|
print(localContext);
|
|
} else {
|
|
localContext = VisitAppContext(language: "FR", id: "UserId_Init", instanceId: "633ee379d9405f32f166f047");
|
|
DatabaseHelper.instance.insert(DatabaseTableType.main, localContext.toMap());
|
|
print("NO LOCAL DB !");
|
|
}
|
|
|
|
initialRoute = '/home';
|
|
|
|
final MyApp myApp = MyApp(
|
|
initialRoute: initialRoute,
|
|
visitAppContext: localContext,
|
|
);
|
|
|
|
runApp(myApp);
|
|
}
|
|
|
|
class MyApp extends StatefulWidget {
|
|
String initialRoute = "";
|
|
VisitAppContext visitAppContext;
|
|
MyApp({Key? key, required this.initialRoute, required this.visitAppContext}) : super(key: key);
|
|
|
|
@override
|
|
_MyAppState createState() => _MyAppState();
|
|
}
|
|
|
|
class _MyAppState extends State<MyApp> {
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return ChangeNotifierProvider<AppContext>(
|
|
create: (_) => AppContext(widget.visitAppContext),
|
|
child: MaterialApp(
|
|
debugShowCheckedModeBanner: false,
|
|
title: 'Fort Saint Héribert',
|
|
initialRoute: widget.initialRoute,
|
|
localizationsDelegates: const [
|
|
AppLocalizations.delegate,
|
|
GlobalMaterialLocalizations.delegate,
|
|
GlobalWidgetsLocalizations.delegate,
|
|
GlobalCupertinoLocalizations.delegate,
|
|
],
|
|
supportedLocales: [
|
|
const Locale('en', ''),
|
|
const Locale('fr', ''),
|
|
],
|
|
theme: ThemeData(
|
|
primarySwatch: Colors.blue,
|
|
scaffoldBackgroundColor: kBackgroundColor,
|
|
//fontFamily: "Vollkorn",
|
|
textTheme: const TextTheme(bodyText1: TextStyle(color: kTestSecondColor)),
|
|
visualDensity: VisualDensity.adaptivePlatformDensity,
|
|
),
|
|
routes: {
|
|
'/home': (context) => const HomePage(),
|
|
}
|
|
),
|
|
);
|
|
}
|
|
} |