use iced::Element; 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> where TOption: Clone + PartialEq + Into>>, { 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()), ) .into() } }