2024-12-17 22:28:51 +04:00

26 lines
866 B
Dart

import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
import '../../../data/dtos/hero_dto.dart';
import '../../../data/repositories/hero_repository.dart';
import 'events.dart';
import 'state.dart';
// BLoC
class HeroListBloc extends Bloc<HeroListEvent, HeroListState> {
final HeroRepository heroRepository;
HeroListBloc(this.heroRepository) : super(HeroListInitial()) {
on<FetchHeroes>((event, emit) async {
emit(HeroListLoading());
try {
final heroes = await heroRepository.getHeroes();
print('Heroes loaded: ${heroes.map((hero) => hero.name).toList()}'); // Отладочный вывод
emit(HeroListLoaded(heroes));
} catch (e) {
print('Error loading heroes: $e'); // Отладочный вывод ошибок
emit(HeroListError(e.toString()));
}
});
}
}