import 'package:ambito/src/packages/ambito_api/base_api.dart'; import 'package:ambito/src/packages/ambito_db/base_db.dart'; import 'package:ambito/src/packages/ambito_sharedprefs/ambito_sharedprefs.dart'; import 'package:ambito/src/packages/ambito_theme/ambito_theme.dart'; import 'package:ambito/src/pages/actions/action_detail_page.dart'; import 'package:ambito/src/pages/actions/actions_page.dart'; import 'package:ambito/src/pages/actions/actions_pre_page.dart'; import 'package:ambito/src/pages/calendar/calendar_page.dart'; import 'package:ambito/src/pages/calendar/calendar_page_year.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_i18n/flutter_i18n.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:get/get.dart'; import 'package:isar/isar.dart'; import 'package:logger/logger.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:syncfusion_localizations/syncfusion_localizations.dart'; final Logger logger = Logger( printer: PrettyPrinter(), ); late Isar isar; late SharedPreferences prefs; AmbitoTheme baseTheme = AmbitoTheme(); void main() async { WidgetsFlutterBinding.ensureInitialized(); await dotenv.load(fileName: '.env'); await AmbitoSharedPrefs.start(); await AmbitoIsarDB.init(); await Future.wait([ //BaseApi().getContent('tree_type'), BaseApi().getContent('measure'), BaseApi().getContent('measure_combination'), //BaseApi().getContent('organism'), //BaseApi().getContent('funding_program'), //BaseApi().getContent('location_requirements'), //BaseApi().getContent('reference_implementation'), //BaseApi().getContent('business'), //BaseApi().getContent('service_provider'), //BaseApi().getContent('service_provider_contact_person'), //BaseApi().getContent('material'), //BaseApi().getContent('source'), ]); await MeasureRepository().buildMeasureFilters(); runApp(const Ambito()); } class Ambito extends StatelessWidget { const Ambito({super.key}); @override Widget build(BuildContext context) { return GetMaterialApp( debugShowCheckedModeBanner: false, localizationsDelegates: [ FlutterI18nDelegate( translationLoader: FileTranslationLoader( fallbackFile: 'de', basePath: 'i18n', ), missingTranslationHandler: (key, locale) { if (kDebugMode) { print("--- Missing Key: $key, languageCode: $locale"); } }, ), GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, SfGlobalLocalizations.delegate, ], title: 'AmBiTo', supportedLocales: const [Locale('de')], locale: const Locale('de'), builder: FlutterI18n.rootAppBuilder(), theme: baseTheme.lightThemeData, darkTheme: baseTheme.darkThemeData, themeMode: ThemeMode.light, initialRoute: '/massnahmen', getPages: [ GetPage( name: '/', page: () => const ActionsPrePage(), ), GetPage( name: '/kalender', page: () => const CalendarPage(), ), GetPage( name: '/kalender/jahr', page: () => const CalendarPageYear(), ), GetPage( name: '/massnahmen', page: () => const ActionsPrePage(), ), GetPage( name: '/massnahmendatenbank', page: () => const ActionsPage(), ), GetPage(name: '/massnahme/:id', page: () => const ActionDetailPage()) ], ); } }