diff --git a/src/ui.rs b/src/ui.rs index 79189ba..aa1d55e 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -30,7 +30,7 @@ pub fn user_interface() -> iced::Result { app.run() } -#[derive(Clone, Debug)] +#[derive(Clone, Debug,PartialEq)] pub enum Page { Home, FeedView, @@ -41,12 +41,12 @@ pub enum Page { } pub struct State { - page: Page, - current_feed: usize, + pub page: Page, + pub current_feed: usize, pub current_item: Option, pub item_description: Vec, pub item_content: Vec, - feed_input: String, + pub feed_input: String, } impl Default for State { fn default() -> Self { diff --git a/src/widgets.rs b/src/widgets.rs index 9b3b730..feac03e 100644 --- a/src/widgets.rs +++ b/src/widgets.rs @@ -100,12 +100,26 @@ pub fn media_view(state: &'_ ui::State) -> Element<'_, Message> { } } -pub fn navbar (state: &'_ ui::State) -> Element<'_,Message>{ - row!( - button("Home").on_press(Message::ChangePage(Page::Home)), - button("All Items").on_press(Message::ChangePage(Page::AllItems)), - button("Categories").on_press(Message::ChangePage(Page::CategoryView)) - ).spacing(5).padding(5).width(iced::Fill).into() +pub fn navbar (state: &ui::State) -> Element{ + match state.page { + Page::Home => { + row::Row::new().push( + button("All Items").on_press(Message::ChangePage(Page::AllItems)) + ).push(button("Categories").on_press(Message::ChangePage(Page::CategoryView))) + .spacing(5).padding(5) + }, + Page::FeedView => { + row::Row::new().push(button("Home").on_press(Message::ChangePage(Page::Home))).spacing(5).padding(5) + }, + Page::AllItems => { + row::Row::new().push(button("Home").on_press(Message::ChangePage(Page::Home))).spacing(5).padding(5)} + Page::CategoryView => { + row::Row::new().push(button("Home").on_press(Message::ChangePage(Page::Home))).spacing(5).padding(5)} + Page::Testing => { + row::Row::new().push(button("Home").on_press(Message::ChangePage(Page::Home))).spacing(5).padding(5)} + Page::ItemView => { + row::Row::new().push(button("Home").on_press(Message::ChangePage(Page::Home))).spacing(5).padding(5)} + }.into() }