use iced::{widget::column, Element}; use super::{Message, Navigation}; pub fn view_navigation<'a, TOption>( navigation: &'a Navigation, ) -> Element<'a, Message> where TOption: Clone + PartialEq + Into>>, { let mut options = Vec::new(); navigation .options_before_active .iter() .map(|option| navigation.button(&option)) .for_each(|option| options.push(option)); if let Some(active_option) = navigation.active_option.as_ref() { options.push(navigation.button(&active_option)); } navigation .options_after_active .iter() .map(|option| navigation.button(&option)) .for_each(|option| options.push(option)); column(options).into() }