import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import '../../data/dtos/hero_dto.dart'; import '../../data/repositories/hero_repository.dart'; import 'hero_detail_state.dart'; import 'hero_detail_events.dart'; // BLoC class HeroDetailBloc extends Bloc { final HeroRepository heroRepository; HeroDetailBloc(this.heroRepository) : super(HeroDetailInitial()) { on((event, emit) async { emit(HeroDetailLoading()); try { final hero = await heroRepository.getHeroDetails(event.heroId); emit(HeroDetailLoaded(hero)); } catch (e) { emit(HeroDetailError(e.toString())); } }); } }