From 65112976b24339747db0e9c40cd280ab680619b3 Mon Sep 17 00:00:00 2001 From: Mohammad Salameh Date: Thu, 4 Apr 2024 01:18:02 +0300 Subject: [PATCH] Update device control logic for three gang interface Refactor onTap functions in ThreeGangInterfaceBody to control all three switches simultaneously based on the user interaction. Split the logic for turning on and off the switches into separate functions for better readability and maintenance. --- .../three_gang/three_gang_interface_body.dart | 54 ++++++++++++++++++- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/lib/features/devices/view/widgets/three_gang/three_gang_interface_body.dart b/lib/features/devices/view/widgets/three_gang/three_gang_interface_body.dart index 031df63..aef7ba0 100644 --- a/lib/features/devices/view/widgets/three_gang/three_gang_interface_body.dart +++ b/lib/features/devices/view/widgets/three_gang/three_gang_interface_body.dart @@ -117,7 +117,32 @@ class ThreeGangInterfaceBody extends StatelessWidget { borderRadius: BorderRadius.circular(100), ), child: InkWell( - onTap: () {}, + onTap: () { + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: device.id, + code: 'switch_1', + value: true, + ), + device.id!, + ); + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: device.id, + code: 'switch_2', + value: true, + ), + device.id!, + ); + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: device.id, + code: 'switch_3', + value: true, + ), + device.id!, + ); + }, child: Stack( alignment: Alignment.center, children: [ @@ -224,7 +249,32 @@ class ThreeGangInterfaceBody extends StatelessWidget { borderRadius: BorderRadius.circular(100), ), child: InkWell( - onTap: () {}, + onTap: () { + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: device.id, + code: 'switch_1', + value: false, + ), + device.id!, + ); + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: device.id, + code: 'switch_2', + value: false, + ), + device.id!, + ); + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: device.id, + code: 'switch_3', + value: false, + ), + device.id!, + ); + }, child: Stack( alignment: Alignment.center, children: [