import 'dart:convert'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:hl_lieferservice/bloc/app_events.dart'; import 'package:hl_lieferservice/bloc/app_states.dart'; import 'package:hl_lieferservice/repository/config.dart'; import '../services/erpframe.dart'; class AppBloc extends Bloc { AppBloc() : super(AppInitial()) { on(_loadConfig); } Future _loadConfig(AppLoadConfig event, Emitter emit) async { emit(AppConfigLoading()); try { final repository = ConfigurationRepository(path: event.path); final configuration = LocalDocuFrameConfiguration.fromJson( json.decode(await rootBundle.loadString("assets/${event.path}")), ); repository.setDocuFrameConfiguration(configuration); emit( AppConfigLoaded(config: await repository.getDocuFrameConfiguration()), ); } catch (e) { emit( AppConfigLoadingFailed( message: "Fehler beim Laden der Konfigurationsdatei.", ), ); } } }