import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:pmd_lab/presentation/home_page/bloc/events.dart'; import 'package:pmd_lab/presentation/home_page/bloc/state.dart'; import 'package:pmd_lab/repositories/titans_repository.dart'; class HomeBloc extends Bloc { final TitansRepository repo; HomeBloc(this.repo) : super(const HomeState()) { on(_onLoadData); } Future _onLoadData(HomeLoadDataEvent event, Emitter emit) async { emit(state.copyWith(isLoading: true)); String? error; final data = await repo.loadResults( q: event.search, onError: (e) => error = e, ); emit(state.copyWith( isLoading: false, data: data, error: error, )); } }