Files
Holzleitner-Lieferservice-App/lib/bloc/app_bloc.dart
Dennis Nemec b19a6e1cd4 Initial draft
2025-09-20 16:14:06 +02:00

38 lines
1.1 KiB
Dart

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<AppEvents, AppState> {
AppBloc() : super(AppInitial()) {
on<AppLoadConfig>(_loadConfig);
}
Future<void> _loadConfig(AppLoadConfig event, Emitter<AppState> 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.",
),
);
}
}
}