Update RealtimeDeviceChangesBloc to handle loading and failure states

This commit is contained in:
Faris Armoush
2025-05-06 09:05:16 +03:00
parent 38184ca8b2
commit 5a68b22f0c
2 changed files with 5 additions and 4 deletions

View File

@ -25,10 +25,11 @@ class RealtimeDeviceChangesBloc
onData: (data) { onData: (data) {
final currentState = state; final currentState = state;
emit( emit(
state.copyWith( state.copyWith(
status: RealtimeDeviceChangesStatus.loaded,
deviceStatusList: [ deviceStatusList: [
...currentState.deviceStatusList.where((device) => ...currentState.deviceStatusList.where((device) =>
!data.any((newDevice) => newDevice.code == device.code)), !data.any((newDevice) => newDevice.code == device.code)),
...data, ...data,
], ],
), ),
@ -36,7 +37,7 @@ class RealtimeDeviceChangesBloc
}, },
onError: (error, _) => emit( onError: (error, _) => emit(
state.copyWith( state.copyWith(
status: RealtimeDeviceChangesStatus.error, status: RealtimeDeviceChangesStatus.failure,
errorMessage: '$error', errorMessage: '$error',
), ),
), ),

View File

@ -1,6 +1,6 @@
part of 'realtime_device_changes_bloc.dart'; part of 'realtime_device_changes_bloc.dart';
enum RealtimeDeviceChangesStatus { initial, loading, loaded, error } enum RealtimeDeviceChangesStatus { initial, loaded, failure }
final class RealtimeDeviceChangesState extends Equatable { final class RealtimeDeviceChangesState extends Equatable {
const RealtimeDeviceChangesState({ const RealtimeDeviceChangesState({