import 'package:fluro/fluro.dart'; import 'package:imagini/core/app_routes.dart'; import 'package:imagini/api/api_provider.dart'; import 'package:imagini/api/imagini_api_repository.dart'; import 'package:imagini/core/storage_client/base_storage_client.dart'; import 'package:imagini/core/storage_client/storage_client.dart' if (dart.library.html) 'package:imagini/core/storage_client/browser_storage_client.dart' if (dart.library.io) 'package:imagini/core/storage_client/mobile_storage_client.dart'; class ImaginiApplication { FluroRouter router; ImaginiAPIRepository imaginiAPI; BaseStorageClient storageClient; Future onCreate() async { _initRouter(); _initStorageClient(); await _initAPIRepository(); } Future onTerminate() async {} _initRouter() { router = new FluroRouter(); AppRoutes.configureRoutes(router); } _initStorageClient() { storageClient = getStorageClient(); } _initAPIRepository() async { // TODO: Get from config APIProvider apiProvider = new APIProvider(storageClient); await apiProvider.init(); imaginiAPI = ImaginiAPIRepository(apiProvider); } }