116 lines
4.8 KiB
Dart
116 lines
4.8 KiB
Dart
import 'package:aitrainer_app/view/account.dart';
|
|
import 'package:aitrainer_app/view/customer_bodytype_page.dart';
|
|
import 'package:aitrainer_app/view/customer_fitness_page.dart';
|
|
import 'package:aitrainer_app/view/customer_goal_page.dart';
|
|
import 'package:aitrainer_app/view/customer_modify_page.dart';
|
|
import 'package:aitrainer_app/view/customer_new_page.dart';
|
|
import 'package:aitrainer_app/view/customer_welcome_page.dart';
|
|
import 'package:aitrainer_app/view/gdpr.dart';
|
|
import 'package:aitrainer_app/view/login.dart';
|
|
import 'package:aitrainer_app/view/exercise_new_page.dart';
|
|
import 'package:aitrainer_app/view/exercise_type_modify_page.dart';
|
|
import 'package:aitrainer_app/view/exercise_type_new_page.dart';
|
|
import 'package:aitrainer_app/view/menu_page.dart';
|
|
import 'package:aitrainer_app/view/registration.dart';
|
|
import 'package:aitrainer_app/view/settings.dart';
|
|
import 'package:aitrainer_app/viewmodel/customer_changing_view_model.dart';
|
|
import 'package:aitrainer_app/viewmodel/exercise_changing_view_model.dart';
|
|
import 'package:aitrainer_app/widgets/home.dart';
|
|
import 'package:aitrainer_app/widgets/loading.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:aitrainer_app/view/customer_list_page.dart';
|
|
import 'package:aitrainer_app/view/exercise_type_list_page.dart';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
|
import 'package:aitrainer_app/localization/app_localization.dart';
|
|
|
|
void main() {
|
|
runApp(
|
|
MultiProvider(
|
|
// Initialize the model in the builder. That way, Provider
|
|
// can own Models's lifecycle, making sure to call `dispose`
|
|
// when not needed anymore.
|
|
providers: [
|
|
ChangeNotifierProvider(create: (context) => ExerciseChangingViewModel(null)),
|
|
ChangeNotifierProvider(create: (context) => CustomerChangingViewModel(null)),
|
|
],
|
|
|
|
child: AitrainerApp(),
|
|
),
|
|
);
|
|
}
|
|
|
|
class AitrainerApp extends StatelessWidget {
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
|
return MaterialApp(
|
|
localizationsDelegates: [
|
|
// ... app-specific localization delegate[s] here
|
|
AppLocalizations.delegate,
|
|
GlobalMaterialLocalizations.delegate,
|
|
GlobalCupertinoLocalizations.delegate,
|
|
],
|
|
supportedLocales: [
|
|
const Locale('en', "US"), // English
|
|
const Locale('hu', "HU"), // Hungarian
|
|
// ... other locales the app supports
|
|
],
|
|
localeResolutionCallback: (Locale locale, Iterable<Locale> supportedLocales) {
|
|
//myLocale = deviceLocale ;
|
|
// here you make your app language similar to device language ,
|
|
// but you should check whether the localization is supported by your app
|
|
Locale realSupportedLocale = Locale('en', "US");
|
|
supportedLocales.forEach((supportedLocale) {
|
|
if ( locale != null && supportedLocale != null &&
|
|
supportedLocale.countryCode == locale.countryCode ) {
|
|
realSupportedLocale = supportedLocale;
|
|
}
|
|
});
|
|
if ( locale.countryCode != null && realSupportedLocale.countryCode != locale.countryCode ) {
|
|
print ("Locale " + locale.countryCode + " not supported on this device :(");
|
|
}
|
|
return realSupportedLocale;
|
|
},
|
|
routes: {
|
|
'home': (context) => AitrainerHome(),
|
|
'loading': (context) => LoadingScreenMain(),
|
|
'customersPage': (context) => CustomerListPage(),
|
|
'customerNewPage': (context) => CustomerNewPage(),
|
|
'customerModifyPage': (context) => CustomerModifyPage(),
|
|
'customerGoalPage': (context) => CustomerGoalPage(),
|
|
'customerFitnessPage': (context) => CustomerFitnessPage(),
|
|
'customerBodyTypePage': (context) => CustomerBodyTypePage(),
|
|
'customerWelcomePage': (context) => CustomerWelcomePage(),
|
|
'exerciseTypeListPage': (context) => ExerciseTypeListPage(),
|
|
'exerciseTypeNewPage': (context) => ExerciseTypeNewPage(),
|
|
'exerciseTypeModifyPage': (context) => ExerciseTypeModifyPage(),
|
|
'exerciseNewPage': (context) => ExerciseNewPage(),
|
|
'login': (context) => LoginPage(),
|
|
'registration': (context) => RegistrationPage(),
|
|
'gdpr': (context) => Gdpr(),
|
|
'menu_page': (context) => MenuPage(),
|
|
'account': (context) => AccountPage(),
|
|
'settings': (context) => SettingsPage(),
|
|
},
|
|
initialRoute: 'loading',
|
|
title: 'Aitrainer',
|
|
theme: ThemeData(
|
|
brightness: Brightness.light,
|
|
//primarySwatch: Colors.transparent,
|
|
fontFamily: 'Arial',
|
|
textTheme: TextTheme(
|
|
bodyText1: TextStyle(fontSize: 14.0),
|
|
)
|
|
),
|
|
home: LoadingScreenMain(),
|
|
|
|
);
|
|
}
|
|
}
|
|
|
|
|