From 9bf37243a6dd4f79f9d5cf3c7a2db0d1420f6fa4 Mon Sep 17 00:00:00 2001 From: mohammad Date: Sun, 13 Apr 2025 14:55:55 +0300 Subject: [PATCH] remove unused code and make a limitation for the nobody time picker --- .../device_managment/ac/model/ac_model.dart | 2 +- .../ac/view/ac_device_control.dart | 2 +- .../wall_sensor/time_wheel.dart | 65 ++++++++++++------- 3 files changed, 44 insertions(+), 25 deletions(-) diff --git a/lib/pages/device_managment/ac/model/ac_model.dart b/lib/pages/device_managment/ac/model/ac_model.dart index c67006b2..6afc778d 100644 --- a/lib/pages/device_managment/ac/model/ac_model.dart +++ b/lib/pages/device_managment/ac/model/ac_model.dart @@ -11,7 +11,7 @@ class AcStatusModel { final bool childLock; final TempModes acMode; final FanSpeeds acFanSpeed; - late final int countdown1; + final int countdown1; AcStatusModel({ required this.uuid, 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 4e8f896c..8c33c853 100644 --- a/lib/pages/device_managment/ac/view/ac_device_control.dart +++ b/lib/pages/device_managment/ac/view/ac_device_control.dart @@ -13,7 +13,7 @@ import 'package:syncrow_web/utils/constants/assets.dart'; import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart'; class AcDeviceControlsView extends StatelessWidget with HelperResponsiveLayout { - AcDeviceControlsView({super.key, required this.device}); + const AcDeviceControlsView({super.key, required this.device}); final AllDevicesModel device; diff --git a/lib/pages/routines/widgets/routine_dialogs/wall_sensor/time_wheel.dart b/lib/pages/routines/widgets/routine_dialogs/wall_sensor/time_wheel.dart index a5b24a22..56f74054 100644 --- a/lib/pages/routines/widgets/routine_dialogs/wall_sensor/time_wheel.dart +++ b/lib/pages/routines/widgets/routine_dialogs/wall_sensor/time_wheel.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:syncrow_web/utils/color_manager.dart'; @@ -28,9 +27,12 @@ class _TimeWheelPickerState extends State { @override void initState() { super.initState(); - _hoursController = FixedExtentScrollController(initialItem: widget.initialHours); - _minutesController = FixedExtentScrollController(initialItem: widget.initialMinutes); - _secondsController = FixedExtentScrollController(initialItem: widget.initialSeconds); + _hoursController = + FixedExtentScrollController(initialItem: widget.initialHours); + _minutesController = + FixedExtentScrollController(initialItem: widget.initialMinutes); + _secondsController = + FixedExtentScrollController(initialItem: widget.initialSeconds); } @override @@ -47,6 +49,8 @@ class _TimeWheelPickerState extends State { } } + + @override void dispose() { _hoursController.dispose(); @@ -61,26 +65,28 @@ class _TimeWheelPickerState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ _buildPickerColumn( - label: 'h', - controller: _hoursController, - itemCount: 24, - onChanged: (value) => _handleTimeChange( - value, - _minutesController.selectedItem, - _secondsController.selectedItem, - ), - ), + label: 'h', + controller: _hoursController, + itemCount: 3, + onChanged: (value) { + _handleTimeChange( + value, + _minutesController.selectedItem, + _secondsController.selectedItem, + ); + }), const SizedBox(width: 5), _buildPickerColumn( - label: 'm', - controller: _minutesController, - itemCount: 60, - onChanged: (value) => _handleTimeChange( - _hoursController.selectedItem, - value, - _secondsController.selectedItem, - ), - ), + label: 'm', + controller: _minutesController, + itemCount: 60, + onChanged: (value) { + _handleTimeChange( + _hoursController.selectedItem, + value, + _secondsController.selectedItem, + ); + }), const SizedBox(width: 5), _buildPickerColumn( label: 's', @@ -97,6 +103,19 @@ class _TimeWheelPickerState extends State { } void _handleTimeChange(int hours, int minutes, int seconds) { + int total = hours * 3600 + minutes * 60 + seconds; + if (total > 10000) { + hours = 2; + minutes = 46; + seconds = 40; + total = 10000; + WidgetsBinding.instance.addPostFrameCallback((_) { + _hoursController.jumpToItem(hours); + _minutesController.jumpToItem(minutes); + _secondsController.jumpToItem(seconds); + }); + } + widget.onTimeChanged(hours, minutes, seconds); } @@ -147,4 +166,4 @@ class _TimeWheelPickerState extends State { ], ); } -} \ No newline at end of file +}