ambito/lib/main.dart

78 lines
2.5 KiB
Dart

import 'package:ambito/src/packages/ambito_api/base_api.dart';
import 'package:ambito/src/packages/ambito_db/base_db.dart';
import 'package:ambito/src/pages/loading/loading_page.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_navigation/src/root/get_material_app.dart';
import 'package:isar/isar.dart';
import 'package:logger/logger.dart';
import 'package:syncfusion_localizations/syncfusion_localizations.dart';
final Logger logger = Logger(
printer: PrettyPrinter(),
);
late Isar isar;
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await dotenv.load(fileName: '.env');
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'),
]);
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: 'Flutter Demo',
supportedLocales: const [Locale('de')],
locale: const Locale('de'),
builder: FlutterI18n.rootAppBuilder(),
theme: ThemeData(
scaffoldBackgroundColor: Colors.white,
useMaterial3: true,
),
home: const LoadingPage(),
);
}
}