23 lines
853 B
Dart
23 lines
853 B
Dart
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:minecraft_server_installer/vanila/adapter/presentation/game_version_view_model.dart';
|
|
import 'package:minecraft_server_installer/vanila/application/use_case/get_game_version_list_use_case.dart';
|
|
|
|
class GameVersionBloc extends Bloc<GameVersionEvent, List<GameVersionViewModel>> {
|
|
final GetGameVersionListUseCase _getGameVersionListUseCase;
|
|
|
|
GameVersionBloc(this._getGameVersionListUseCase) : super(const []) {
|
|
on<GameVersionLoadedEvent>((_, emit) async {
|
|
try {
|
|
final gameVersions = await _getGameVersionListUseCase();
|
|
emit(gameVersions.map((entity) => GameVersionViewModel.from(entity)).toList());
|
|
} on Exception {
|
|
emit(const []);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
sealed class GameVersionEvent {}
|
|
|
|
class GameVersionLoadedEvent extends GameVersionEvent {}
|