proxibuy/lib/presentation/offer/bloc/offer_bloc.dart

24 lines
786 B
Dart

// lib/presentation/bloc/offer/offer_bloc.dart
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:proxibuy/data/models/datasources/offer_data_source.dart';
import '../../../../data/models/offer_model.dart';
part 'offer_event.dart';
part 'offer_state.dart';
class OfferBloc extends Bloc<OfferEvent, OfferState> {
final OfferDataSource dataSource;
OfferBloc({required this.dataSource}) : super(OfferInitial()) {
on<FetchNearbyOffers>((event, emit) async {
emit(OfferLoading());
try {
final offers = await dataSource.getNearbyOffers();
emit(OfferSuccess(offers));
} catch (e) {
emit(OfferFailure('متاسفانه خطایی رخ داد: ${e.toString()}'));
}
});
}
}