import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:kulinar_app/constants.dart'; import 'package:kulinar_app/models/data/shoplist_data_class.dart'; import 'package:kulinar_app/views/main_view.dart'; import 'package:kulinar_app/util/notifications.dart'; import 'package:kulinar_app/models/data/recipe_data_class.dart'; import 'package:kulinar_app/models/data/settings_data_class.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings("@mipmap/notification_icon"); final InitializationSettings initializationSettings = InitializationSettings(android: initializationSettingsAndroid); await Notifications.flutterLocalNotificationsPlugin.initialize(initializationSettings, onSelectNotification: Notifications.selectNotification); await RecipeData.load(); await SettingsData.load(); await ShoplistData.load(); runApp(AppRoot()); } class AppRoot extends StatefulWidget { const AppRoot({Key? key}) : super(key: key); @override _AppRootState createState() => _AppRootState(); } class _AppRootState extends State { @override Widget build(BuildContext context) { SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.light, )); return MaterialApp( localizationsDelegates: [ AppLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: [ const Locale('de', ''), const Locale('en', ''), const Locale('ru', ''), ], theme: themeData(), title: "Kulinar", home: MainView(), ); } ThemeData themeData() { return ThemeData( brightness: Brightness.light, primarySwatch: cPrimarySwatchColor, textSelectionTheme: TextSelectionThemeData( cursorColor: cIconColor, ), inputDecorationTheme: InputDecorationTheme( hintStyle: cSearchTextStyle, ), appBarTheme: AppBarTheme( actionsIconTheme: IconThemeData(color: cIconColor), titleTextStyle: cTitleStyle, toolbarTextStyle: cTitleStyle, iconTheme: IconThemeData(color: cIconColor), centerTitle: true, elevation: 10.0, ), buttonTheme: ButtonThemeData( buttonColor: cPrimaryColor, ), ); } }