Refactor user and theme management to use BLoC pattern; remove provider classes and integrate new services for user and group functionalities

This commit is contained in:
Dayron
2025-10-14 12:10:42 +02:00
parent c4588a65c0
commit 72ddb58a11
27 changed files with 1864 additions and 791 deletions

View File

@@ -13,6 +13,7 @@ class TripBloc extends Bloc<TripEvent, TripState> {
: _tripRepository = tripRepository,
super(TripInitial()) {
on<TripLoadRequested>(_onLoadRequested);
on<_TripUpdated>(_onTripUpdated);
on<TripCreateRequested>(_onCreateRequested);
on<TripUpdateRequested>(_onUpdateRequested);
on<TripDeleteRequested>(_onDeleteRequested);
@@ -29,11 +30,18 @@ class TripBloc extends Bloc<TripEvent, TripState> {
await _tripsSubscription?.cancel();
_tripsSubscription = _tripRepository.getUserTrips(event.userId).listen(
(trips) => add(const _TripUpdated(trips: [])), // Sera géré par un événement interne
(trips) => add(_TripUpdated(trips: trips)),
onError: (error) => emit(TripError(message: error.toString())),
);
}
Future<void> _onTripUpdated(
_TripUpdated event,
Emitter<TripState> emit,
) async {
emit(TripLoaded(trips: event.trips));
}
Future<void> _onCreateRequested(
TripCreateRequested event,
Emitter<TripState> emit,