diff --git a/lib/pages/routines/bloc/routine_bloc/routine_bloc.dart b/lib/pages/routines/bloc/routine_bloc/routine_bloc.dart index f13e24d4..af015158 100644 --- a/lib/pages/routines/bloc/routine_bloc/routine_bloc.dart +++ b/lib/pages/routines/bloc/routine_bloc/routine_bloc.dart @@ -1457,27 +1457,21 @@ class RoutineBloc extends Bloc { List changeItemStateOnToggelingSceen( List oldSceen, String automationId) { - final updatedAutomations = oldSceen; - final temp = - updatedAutomations.firstWhere((element) => element.id == automationId); - final tempIndex = updatedAutomations.indexWhere( - (element) => element.id == automationId, - ); - updatedAutomations.removeWhere( - (element) => element.id == automationId, - ); - updatedAutomations.insert( - tempIndex, - ScenesModel( - id: temp.id, - name: temp.name, - status: temp.status == 'enable' ? 'disable' : 'enable', - type: temp.type, - spaceName: temp.spaceName, - spaceId: temp.spaceId, - communityId: temp.communityId, - ), - ); - return updatedAutomations; + return oldSceen.map((scene) { + if (scene.id == automationId) { + return ScenesModel( + id: scene.id, + sceneTuyaId: scene.sceneTuyaId, + name: scene.name, + status: scene.status == 'enable' ? 'disable' : 'enable', + type: scene.type, + spaceName: scene.spaceName, + spaceId: scene.spaceId, + communityId: scene.communityId, + icon: scene.icon, + ); + } + return scene; + }).toList(); } }