From b63c3b615d7f72749662705c044a5bf572cbd3b4 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Tue, 15 Mar 2022 18:22:48 -0400 Subject: [PATCH] Minor UI improvements. --- web/src/components/header.rs | 2 +- web/src/components/tabs.rs | 6 +++--- web/src/pages/inventory.rs | 7 +++++++ web/src/pages/plan.rs | 7 +++++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/web/src/components/header.rs b/web/src/components/header.rs index f7b737e..9e9c6c7 100644 --- a/web/src/components/header.rs +++ b/web/src/components/header.rs @@ -18,7 +18,7 @@ use sycamore::prelude::*; pub fn header() -> View { view! { div(class="menu") { - span { a(href="/ui/") { "Meal Plan" }} + h1 { "Meal Plan" } } } } diff --git a/web/src/components/tabs.rs b/web/src/components/tabs.rs index 4553f65..24d55bd 100644 --- a/web/src/components/tabs.rs +++ b/web/src/components/tabs.rs @@ -25,15 +25,15 @@ pub struct TabState { pub fn tabbed_view(state: TabState) -> View { cloned!((state) => view! { div(class="nav-header no-print") { - a(class="no-print", on:click=cloned!((state) => move |_| { + a(href="#", class="no-print", on:click=cloned!((state) => move |_| { state.route.set(AppRoutes::Plan); })) { "Plan" } " | " - a(class="no-print", on:click=cloned!((state) => move |_| { + a(href="#", class="no-print", on:click=cloned!((state) => move |_| { state.route.set(AppRoutes::Inventory); })) { "Inventory" } " | " - a(on:click=cloned!((state) => move |_| { + a(href="#", class="no-print", on:click=cloned!((state) => move |_| { state.route.set(AppRoutes::Cook); })) { "Cook" } } diff --git a/web/src/pages/inventory.rs b/web/src/pages/inventory.rs index 8b4794b..ea25255 100644 --- a/web/src/pages/inventory.rs +++ b/web/src/pages/inventory.rs @@ -11,6 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. +use crate::app_state::AppRoutes; use crate::components::{shopping_list::*, tabs::*}; use crate::pages::PageState; @@ -23,11 +24,17 @@ pub struct InventoryPageProps { #[component(InventoryPage)] pub fn inventory_page(props: InventoryPageProps) -> View { + let route_signal = props.page_state.route.clone(); view! { TabbedView(TabState { route: props.page_state.route.clone(), inner: view! { ShoppingList() + div { + a(href="#", on:click=move |_| { + route_signal.set(AppRoutes::Cook); + }) { "Next" } + } }, }) } diff --git a/web/src/pages/plan.rs b/web/src/pages/plan.rs index 6340868..39f38c0 100644 --- a/web/src/pages/plan.rs +++ b/web/src/pages/plan.rs @@ -11,6 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. +use crate::app_state::AppRoutes; use crate::components::{recipe_selector::*, tabs::*}; use crate::pages::PageState; @@ -23,11 +24,17 @@ pub struct PlanPageProps { #[component(PlanPage)] pub fn plan_page(props: PlanPageProps) -> View { + let route_signal = props.page_state.route.clone(); view! { TabbedView(TabState { route: props.page_state.route.clone(), inner: view! { RecipeSelector() + div { + a(href="#", on:click=move |_| { + route_signal.set(AppRoutes::Inventory); + }) { "Next" } + } }, }) }