use iced::Element; use crate::gui::components::{active_button, inactive_button}; use super::{Message, Navigation}; impl<'a, TOption> Navigation where TOption: Clone + PartialEq + 'a, Element<'a, Message>: From<&'a TOption>, { 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() } }