use std::fmt::Display; use iced::Element; use crate::{ gui::components::{navigation, Text}, impl_focusable, }; #[derive(Clone, Debug, PartialEq)] pub struct DummyNavigationOption { pub name: String, is_focused: bool, } impl DummyNavigationOption { pub fn new(name: &str) -> Self { Self { name: String::from(name), is_focused: false, } } } impl<'a> From<&'a DummyNavigationOption> for Element<'a, navigation::Message> { fn from(option: &'a DummyNavigationOption) -> Self { Text::new(option.name.as_str()).into() } } impl Display for DummyNavigationOption { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.write_str(&self.name) } } impl_focusable!(DummyNavigationOption);