diff --git a/backend/src/collector/weatherapi.rs b/backend/src/collector/weatherapi.rs index 85d8387..3203f52 100644 --- a/backend/src/collector/weatherapi.rs +++ b/backend/src/collector/weatherapi.rs @@ -144,7 +144,7 @@ fn wind_speed_to_beaufort(mps: f64) -> BeaufortScale { let index = beaufort_wind_speeds .iter() .enumerate() - .find_map(|(i, range)| range.contains(&mps).then(|| i)) + .find_map(|(i, range)| range.contains(&mps).then_some(i)) .unwrap_or(beaufort_wind_speeds.len()); BeaufortScale(index as u8) diff --git a/backend/src/tasks/lights.rs b/backend/src/tasks/lights.rs index ec8e4d2..9deac97 100644 --- a/backend/src/tasks/lights.rs +++ b/backend/src/tasks/lights.rs @@ -112,20 +112,19 @@ pub async fn lights_task(state: &State) { }; if let Some(time) = time { - let handle = spawn(wake_task( - state.client_message.clone(), - cmd.clone(), - id.clone(), - day, - time, - )); + let handle = spawn(wake_task( + state.client_message.clone(), + cmd.clone(), + id.clone(), + day, + time, + )); - if let Some(old_handle) = wake_tasks.insert((id, day), handle) { - old_handle.abort(); - }} else { - if let Some(old_handle) = wake_tasks.remove(&(id, day)) { + if let Some(old_handle) = wake_tasks.insert((id, day), handle) { old_handle.abort(); } + } else if let Some(old_handle) = wake_tasks.remove(&(id, day)) { + old_handle.abort(); } } _ => {} @@ -181,7 +180,11 @@ fn next_alarm(now: DateTime, day: Weekday, time: NaiveTime) -> DateTime self.mode = ColorPickerSetting::HSB, + Some(ColorPickerAttr::HueSat) => self.mode = ColorPickerSetting::Hsb, Some(ColorPickerAttr::Brightness) => {} Some(ColorPickerAttr::Temperature) => self.mode = ColorPickerSetting::Kelvin, None => return, } let color = match self.mode { - ColorPickerSetting::HSB => { + ColorPickerSetting::Hsb => { BulbColor::hsb(self.hue, self.saturation, self.brightness) } ColorPickerSetting::Kelvin => { @@ -130,10 +130,12 @@ impl ColorPicker { let (r, g, b) = hsb_to_rgb(self.hue, 1.0, 1.0); let saturation_gradient = match self.mode { - ColorPickerSetting::HSB => { + ColorPickerSetting::Hsb => { format!("background: linear-gradient(0deg, #000, rgba({r},{g},{b},1));") } - ColorPickerSetting::Kelvin => format!("background: linear-gradient(0deg, #000, #fff);"), + ColorPickerSetting::Kelvin => { + "background: linear-gradient(0deg, #000, #fff);".to_string() + } }; div![ @@ -186,7 +188,7 @@ impl ColorPicker { self.hue = h; self.saturation = s; self.brightness = b; - self.mode = ColorPickerSetting::HSB; + self.mode = ColorPickerSetting::Hsb; } pub fn set_kelvin(&mut self, t: f32, b: f32) { diff --git a/frontend/src/page/lights.rs b/frontend/src/page/lights.rs index 13d7990..6f004aa 100644 --- a/frontend/src/page/lights.rs +++ b/frontend/src/page/lights.rs @@ -112,7 +112,7 @@ impl Page for Model { } Msg::ColorPicker(msg) => { self.color_picker - .update(msg, &mut orders.proxy(|msg| Msg::ColorPicker(msg))); + .update(msg, &mut orders.proxy(Msg::ColorPicker)); } Msg::SetBulbPower(power) => { self.groups_interacted = true; @@ -125,7 +125,7 @@ impl Page for Model { }); } Msg::LightTime(time, day) => { - if time == "" { + if time.is_empty() { self.for_selected_bulbs(|id, _| { let message = ClientMessage::SetBulbWakeTime { id: id.clone(), @@ -259,9 +259,7 @@ impl Page for Model { div![ C![C.bulb_controls], IF!(selected_bulb.is_none() => C![C.bulb_controls_disable]), - self.color_picker - .view() - .map_msg(|msg| Msg::ColorPicker(msg)), + self.color_picker.view().map_msg(Msg::ColorPicker), button![ if selected_bulb.map(|b| b.mode.power).unwrap_or(false) { C![C.bulb_power_button, C.bulb_power_button_on]