From 92d32e4d84863a4a3e4dcccd27548f3a654f03c7 Mon Sep 17 00:00:00 2001 From: ashrafzarkanisala Date: Mon, 30 Sep 2024 19:55:25 +0300 Subject: [PATCH] push bug fixes --- assets/icons/ac_lock.svg | 5 ++++ .../ac/view/ac_device_batch_control.dart | 5 ++-- .../ac/view/ac_device_control.dart | 4 ++-- .../ac/view/control_list/ac_toggle.dart | 23 +++++++++++-------- .../shared/device_control_dialog.dart | 13 ++++++++--- .../helper/add_schedule_dialog_helper.dart | 21 ++++++++--------- .../water_heater/widgets/schedual_view.dart | 1 + lib/utils/constants/assets.dart | 3 +++ 8 files changed, 46 insertions(+), 29 deletions(-) create mode 100644 assets/icons/ac_lock.svg diff --git a/assets/icons/ac_lock.svg b/assets/icons/ac_lock.svg new file mode 100644 index 00000000..9402fe6b --- /dev/null +++ b/assets/icons/ac_lock.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/lib/pages/device_managment/ac/view/ac_device_batch_control.dart b/lib/pages/device_managment/ac/view/ac_device_batch_control.dart index 07dee6fd..9331072d 100644 --- a/lib/pages/device_managment/ac/view/ac_device_batch_control.dart +++ b/lib/pages/device_managment/ac/view/ac_device_batch_control.dart @@ -46,7 +46,7 @@ class AcDeviceBatchControlView extends StatelessWidget ), children: [ ToggleWidget( - icon: Assets.ac, + icon: Assets.acLock, deviceId: devicesIds.first, code: 'switch', value: state.status.acSwitch, @@ -80,8 +80,7 @@ class AcDeviceBatchControlView extends StatelessWidget code: 'child_lock', value: state.status.childLock, label: 'Child Lock', - icon: - state.status.childLock ? Assets.childLock : Assets.unlock, + icon: state.status.childLock ? Assets.unlock : Assets.acLock, onChange: (value) { context.read().add(AcBatchControlEvent( devicesIds: devicesIds, diff --git a/lib/pages/device_managment/ac/view/ac_device_control.dart b/lib/pages/device_managment/ac/view/ac_device_control.dart index 7ae6f973..2283f6ad 100644 --- a/lib/pages/device_managment/ac/view/ac_device_control.dart +++ b/lib/pages/device_managment/ac/view/ac_device_control.dart @@ -46,6 +46,7 @@ class AcDeviceControlsView extends StatelessWidget with HelperResponsiveLayout { value: state.status.acSwitch, code: 'switch', deviceId: device.uuid!, + icon: Assets.ac, ), CurrentTemp( currentTemp: state.status.currentTemp, @@ -68,8 +69,7 @@ class AcDeviceControlsView extends StatelessWidget with HelperResponsiveLayout { code: 'child_lock', deviceId: device.uuid!, description: 'Child Lock', - icon: - state.status.childLock ? Assets.childLock : Assets.unlock, + icon: state.status.childLock ? Assets.unlock : Assets.acLock, ), ], ); diff --git a/lib/pages/device_managment/ac/view/control_list/ac_toggle.dart b/lib/pages/device_managment/ac/view/control_list/ac_toggle.dart index 81012b39..e709a6b4 100644 --- a/lib/pages/device_managment/ac/view/control_list/ac_toggle.dart +++ b/lib/pages/device_managment/ac/view/control_list/ac_toggle.dart @@ -39,16 +39,21 @@ class AcToggle extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.start, children: [ - ClipOval( - child: Container( - color: ColorsManager.whiteColors, - child: SvgPicture.asset( - icon ?? Assets.lightPulp, - width: 60, - height: 60, - fit: BoxFit.cover, + Container( + width: 60, + height: 60, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: ColorsManager.whiteColors, ), - )), + padding: const EdgeInsets.all(8), + child: ClipOval( + child: SvgPicture.asset( + icon ?? Assets.lightPulp, + fit: BoxFit.contain, + ), + ), + ), SizedBox( height: 20, width: 35, diff --git a/lib/pages/device_managment/shared/device_control_dialog.dart b/lib/pages/device_managment/shared/device_control_dialog.dart index 77f52f62..f69c7c83 100644 --- a/lib/pages/device_managment/shared/device_control_dialog.dart +++ b/lib/pages/device_managment/shared/device_control_dialog.dart @@ -5,6 +5,7 @@ import 'package:syncrow_web/pages/device_managment/all_devices/helper/route_cont import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart'; import 'package:syncrow_web/utils/color_manager.dart'; +import 'package:syncrow_web/utils/format_date_time.dart'; class DeviceControlDialog extends StatelessWidget with RouteControlsBasedCode { final AllDevicesModel device; @@ -91,8 +92,7 @@ class DeviceControlDialog extends StatelessWidget with RouteControlsBasedCode { ], ), TableRow(children: [ - _buildInfoRow('Virtual Address:', - 'Area - Street 1 - Building 1 - First Floor'), + _buildInfoRow('Virtual Address:', '${device.ip}'), const SizedBox.shrink(), ]), TableRow( @@ -103,7 +103,14 @@ class DeviceControlDialog extends StatelessWidget with RouteControlsBasedCode { ), TableRow( children: [ - _buildInfoRow('Installation Date and Time:', '09/08/2024 13:30'), + _buildInfoRow( + 'Installation Date and Time:', + formatDateTime( + DateTime.fromMillisecondsSinceEpoch( + ((device.createTime ?? 0) * 1000), + ), + ), + ), const SizedBox.shrink(), ], ), diff --git a/lib/pages/device_managment/water_heater/helper/add_schedule_dialog_helper.dart b/lib/pages/device_managment/water_heater/helper/add_schedule_dialog_helper.dart index 2dd61f2f..28a0fc32 100644 --- a/lib/pages/device_managment/water_heater/helper/add_schedule_dialog_helper.dart +++ b/lib/pages/device_managment/water_heater/helper/add_schedule_dialog_helper.dart @@ -11,7 +11,14 @@ class ScheduleDialogHelper { {ScheduleModel? schedule, int? index, bool? isEdit}) { final bloc = context.read(); - if (schedule != null) { + if (schedule == null) { + bloc.add(InitializeAddScheduleEvent( + selectedTime: null, + selectedDays: List.filled(7, false), + functionOn: false, + isEditing: false, + )); + } else { final time = _convertStringToTimeOfDay(schedule.time); final selectedDays = _convertDaysStringToBooleans(schedule.days); @@ -22,16 +29,6 @@ class ScheduleDialogHelper { isEditing: true, index: index, )); - } else { - bloc.add( - const InitializeAddScheduleEvent( - selectedDays: [false, false, false, false, false, false, false], - functionOn: false, - isEditing: false, - index: null, - selectedTime: null, - ), - ); } showDialog( @@ -98,7 +95,7 @@ class ScheduleDialogHelper { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - state.selectedTime == null + state.selectedTime == null || schedule == null ? 'Time' : state.selectedTime!.format(context), style: context.textTheme.bodySmall!.copyWith( diff --git a/lib/pages/device_managment/water_heater/widgets/schedual_view.dart b/lib/pages/device_managment/water_heater/widgets/schedual_view.dart index fc308e07..4febbaf5 100644 --- a/lib/pages/device_managment/water_heater/widgets/schedual_view.dart +++ b/lib/pages/device_managment/water_heater/widgets/schedual_view.dart @@ -24,6 +24,7 @@ class _BuildScheduleViewState extends State { @override Widget build(BuildContext context) { final bloc = BlocProvider.of(context); + return BlocProvider.value( value: bloc, child: Dialog( diff --git a/lib/utils/constants/assets.dart b/lib/utils/constants/assets.dart index 4ad6ba2f..ee069c58 100644 --- a/lib/utils/constants/assets.dart +++ b/lib/utils/constants/assets.dart @@ -166,4 +166,7 @@ class Assets { //assets/icons/water_heater.svg static const String waterHeater = 'assets/icons/water_heater.svg'; + + //assets/icons/ac_lock.svg + static const String acLock = 'assets/icons/ac_lock.svg'; }