use yew::prelude::*; use yew_router::prelude::*; use crate::cookie_names; use crate::layouts; pub mod home; pub mod login; pub mod not_found; #[derive(Clone, Routable, PartialEq, Eq)] pub enum Route { #[at("/")] Home, #[at("/login")] Login, #[not_found] #[at("/404")] NotFound, } pub fn switch(routes: &Route) -> Html { let token = { let tmp = wasm_cookies::get(cookie_names::TOKEN); if let Some(x) = tmp { if let Ok(y) = x { Some(y) } else { wasm_cookies::delete(cookie_names::TOKEN); None } } else { None } }; let logged_in = token.is_some(); match routes { Route::Home => { html! { } } Route::Login => html! { }, Route::NotFound => html! { }, } }