26 lines
866 B
Dart
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()));
|
|
}
|
|
});
|
|
}
|
|
}
|