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