diff --git a/lib/features/app_layout/view/widgets/default_nav_bar.dart b/lib/features/app_layout/view/widgets/default_nav_bar.dart index e791ad2..9cc9ddd 100644 --- a/lib/features/app_layout/view/widgets/default_nav_bar.dart +++ b/lib/features/app_layout/view/widgets/default_nav_bar.dart @@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart'; import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart'; +import 'package:syncrow_app/generated/assets.dart'; import 'package:syncrow_app/utils/resource_manager/color_manager.dart'; import 'package:syncrow_app/utils/resource_manager/constants.dart'; diff --git a/lib/features/devices/model/device_model.dart b/lib/features/devices/model/device_model.dart index 22a7c04..410fd15 100644 --- a/lib/features/devices/model/device_model.dart +++ b/lib/features/devices/model/device_model.dart @@ -75,7 +75,7 @@ class DeviceModel { } else if (type == DeviceType.Curtain) { icon = Assets.iconsCurtain; } else if (type == DeviceType.ThreeGang) { - icon = Assets.iconsLight; + icon = Assets.icons3GangSwitch; } else if (type == DeviceType.Gateway) { icon = Assets.iconsGateway; } else { diff --git a/lib/features/devices/view/widgets/ACs/ac_interface.dart b/lib/features/devices/view/widgets/ACs/ac_interface.dart index c0ac062..23c45f7 100644 --- a/lib/features/devices/view/widgets/ACs/ac_interface.dart +++ b/lib/features/devices/view/widgets/ACs/ac_interface.dart @@ -75,7 +75,7 @@ class AcInterface extends StatelessWidget { maxHeight: 380, ), child: AcInterfaceTempUnit( - deviceModel: deviceModel, + acDevice: deviceModel, ), ), const SizedBox( diff --git a/lib/features/devices/view/widgets/ACs/ac_interface_temp_unit.dart b/lib/features/devices/view/widgets/ACs/ac_interface_temp_unit.dart index 562b005..e29ee08 100644 --- a/lib/features/devices/view/widgets/ACs/ac_interface_temp_unit.dart +++ b/lib/features/devices/view/widgets/ACs/ac_interface_temp_unit.dart @@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:sleek_circular_slider/sleek_circular_slider.dart'; import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart'; +import 'package:syncrow_app/features/devices/model/device_control_model.dart'; import 'package:syncrow_app/features/devices/model/device_model.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart'; @@ -10,20 +11,25 @@ import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dar import 'package:syncrow_app/generated/assets.dart'; import 'package:syncrow_app/utils/context_extension.dart'; import 'package:syncrow_app/utils/resource_manager/color_manager.dart'; +import 'package:syncrow_app/utils/resource_manager/constants.dart'; import 'package:syncrow_app/utils/resource_manager/font_manager.dart'; class AcInterfaceTempUnit extends StatelessWidget { const AcInterfaceTempUnit({ super.key, - required this.deviceModel, + required this.acDevice, }); - final DeviceModel deviceModel; + final DeviceModel acDevice; @override Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { + double setToTemp = acDevice.status + .firstWhere((element) => element.code == 'temp_set') + .value / + 10; return DefaultContainer( child: Column( children: [ @@ -72,7 +78,7 @@ class AcInterfaceTempUnit extends StatelessWidget { ), // min: DeviceModel.bounds.min, // max: DeviceModel.bounds.max, - initialValue: deviceModel.status + initialValue: acDevice.status .firstWhere( (element) => element.code == 'temp_current') .value / @@ -98,9 +104,14 @@ class AcInterfaceTempUnit extends StatelessWidget { dimension: 24, child: InkWell( onTap: () { - // DevicesCubit.getInstance() - // .setACTemp(DeviceModel, DeviceModel.coolTo); - // DeviceModel.coolTo -= .5; + if (setToTemp > 20) { + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: acDevice.id, + code: 'temp_set', + value: (setToTemp - 0.5) * 10), + acDevice.id!); + } }, child: SvgPicture.asset( Assets.iconsMinus, @@ -111,8 +122,7 @@ class AcInterfaceTempUnit extends StatelessWidget { children: [ BodyLarge( // text: "${DeviceModel.coolTo}° C", - text: - '${deviceModel.status.firstWhere((element) => element.code == 'temp_set').value / 10}° C', + text: '$setToTemp° C', style: context.bodyLarge.copyWith( color: ColorsManager.primaryColor.withOpacity(0.6), @@ -133,6 +143,15 @@ class AcInterfaceTempUnit extends StatelessWidget { // DevicesCubit.getInstance() // .setACTemp(DeviceModel, DeviceModel.coolTo); // DeviceModel.coolTo += .5; + + if (setToTemp < 30) { + DevicesCubit.getInstance().deviceControl( + DeviceControlModel( + deviceId: acDevice.id, + code: 'temp_set', + value: (setToTemp + 0.5) * 10), + acDevice.id!); + } }, child: SvgPicture.asset( Assets.iconsPlus,