26 lines
733 B
Dart
26 lines
733 B
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:pmu/data/repositories/api_user_repository.dart';
|
|
import 'package:pmu/presentation/home_page/bloc/events.dart';
|
|
import 'package:pmu/presentation/home_page/bloc/state.dart';
|
|
|
|
class HomeBlock extends Bloc<HomeEvent, HomeState> {
|
|
final ApiUserRepository repository;
|
|
|
|
HomeBlock(this.repository) : super(const HomeState()) {
|
|
on<HomeLoadDataEvent>(_onLoadData);
|
|
}
|
|
|
|
Future<void> _onLoadData(
|
|
HomeLoadDataEvent event, Emitter<HomeState> emit) async {
|
|
emit(state.copyWith(isLoading: true));
|
|
final data = await repository.loadData(q: event.search);
|
|
|
|
emit(state.copyWith(
|
|
isLoading: false,
|
|
data: data,
|
|
));
|
|
}
|
|
}
|