import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:syncrow_app/features/devices/bloc/acs_bloc/acs_bloc.dart'; import 'package:syncrow_app/features/devices/bloc/acs_bloc/acs_event.dart'; import 'package:syncrow_app/features/devices/bloc/acs_bloc/acs_state.dart'; import 'package:syncrow_app/features/devices/model/device_model.dart'; import 'package:syncrow_app/features/devices/view/widgets/ACs/ac_mode_control_unit.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart'; import 'package:syncrow_app/generated/assets.dart'; class AcInterfaceControls extends StatelessWidget { const AcInterfaceControls({ super.key, required this.deviceModel, }); final DeviceModel deviceModel; @override Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { String lockIconName = Assets.assetsIconsLock; bool lockValue = false; if (state is GetAcStatusState) { lockIconName = state.acStatusModel.childLock ? Assets.assetsIconsLock : Assets.assetsIconsUnLock; lockValue = state.acStatusModel.childLock; } if (state is AcChangeLoading) { lockIconName = state.acStatusModel.childLock ? Assets.assetsIconsLock : Assets.assetsIconsUnLock; lockValue = state.acStatusModel.childLock; } if (state is AcModifyingState) { lockIconName = state.acStatusModel.childLock ? Assets.assetsIconsLock : Assets.assetsIconsUnLock; lockValue = state.acStatusModel.childLock; } return Column( children: [ ACModeControlUnit(acDevice: deviceModel), const SizedBox(height: 10), Row( children: [ Flexible( child: GestureDetector( onTap: () {}, child: DefaultContainer( height: 55, child: Center( child: SvgPicture.asset(Assets.assetsIconsAutomatedClock), ), ), ), ), const SizedBox(width: 10), Flexible( child: GestureDetector( onTap: () { BlocProvider.of(context).add(ChangeLock(lockBool: lockValue)); }, child: DefaultContainer( height: 55, child: Center( child: SvgPicture.asset(lockIconName), ), ), ), ), ], ) ], ); }, ); } }