From 86487b8ff6e691f2b261a93733df8f4cc5dc7320 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Mon, 25 Aug 2025 18:22:00 +0100 Subject: refactor navigation --- .../navigation/view_navigation_button.rs | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'schist_desktop_gui/src/gui/components/navigation/view_navigation_button.rs') diff --git a/schist_desktop_gui/src/gui/components/navigation/view_navigation_button.rs b/schist_desktop_gui/src/gui/components/navigation/view_navigation_button.rs index 3132bf1..d65328c 100644 --- a/schist_desktop_gui/src/gui/components/navigation/view_navigation_button.rs +++ b/schist_desktop_gui/src/gui/components/navigation/view_navigation_button.rs @@ -4,24 +4,24 @@ use crate::gui::components::{active_button, inactive_button}; use super::{Message, Navigation}; -pub fn view_navigation_button<'a, TOption>( - navigation: &'a Navigation, - option: &'a TOption, -) -> Element<'a, Message> +impl<'a, TOption> Navigation where - TOption: Clone + PartialEq + Into>>, + TOption: Clone + PartialEq + 'a, + Element<'a, Message>: From<&'a TOption>, { - if navigation - .active_option - .as_ref() - .is_some_and(|o| *o == *option) - { - active_button(Into::>>::into(option.clone())).into() - } else { - inactive_button( - Into::>>::into(option.clone()), - Message::SelectOption(option.clone()), - ) + pub(super) fn view_navigation_button( + &'a self, + option: &'a TOption, + ) -> Element<'a, Message> { + if self + .active_option + .as_ref() + .is_some_and(|o| TOption::eq(o, option)) + { + active_button(option) + } else { + inactive_button(option, Message::SelectOption(option.clone())) + } .into() } } -- cgit v1.2.3