import 'package:bloc/bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import '../../../../data/datasources/discount_remote_datasource.dart'; import '../../../../data/models/response/discount_response_model.dart'; part 'discount_bloc.freezed.dart'; part 'discount_event.dart'; part 'discount_state.dart'; class DiscountBloc extends Bloc { final DiscountRemoteDatasource discountRemoteDatasource; DiscountBloc( this.discountRemoteDatasource, ) : super(const _Initial()) { on<_GetDiscounts>((event, emit) async { emit(const _Loading()); final result = await discountRemoteDatasource.getDiscounts(); result.fold( (l) => emit(_Error(l)), (r) => emit(_Loaded(r.data!)), ); }); } }