From 198faec4cf8756e463dbfe7819a9c70f2793252b Mon Sep 17 00:00:00 2001 From: Gabriel Tofvesson Date: Tue, 10 Jan 2023 18:29:14 +0100 Subject: [PATCH] Implement routing tracking --- src/app.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/app.rs b/src/app.rs index 85abee9..b082efc 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,4 +1,6 @@ +use gloo::utils::window; use yew::prelude::*; +use yew_router::Routable; use yew_router::prelude::Navigator; use yew_router::prelude::use_navigator; use yewprint::Icon; @@ -9,6 +11,7 @@ use crate::theme::ThemeContext; use crate::theme::ThemeMsg; use crate::theme::ThemeProvider; use crate::component::actionbar::{Actionbar, ActionbarOption}; +use crate::util::log; #[function_component] @@ -46,7 +49,15 @@ fn ThemedApp() -> Html { } let ctx = use_context::().expect("No theme context supplied"); - let page_state = use_state_eq(|| Page::Home); + let page_state = use_state_eq(|| + window() + .location() + .pathname() + .ok() + .and_then(|p| Page::recognize(&p)) + .or(Some(Page::Home)) + .unwrap() + ); let current_page = *page_state; html! {