49 lines
886 B
Rust
49 lines
886 B
Rust
use yew::prelude::*;
|
|
use yew_router::prelude::*;
|
|
|
|
use crate::layouts;
|
|
|
|
pub mod index;
|
|
pub mod login;
|
|
pub mod not_found;
|
|
pub mod user;
|
|
|
|
pub use index::Index;
|
|
pub use login::Login;
|
|
pub use not_found::NotFound;
|
|
pub use user::User;
|
|
|
|
#[derive(Clone, Routable, PartialEq, Eq, Debug)]
|
|
pub enum Route {
|
|
#[at("/")]
|
|
Index,
|
|
|
|
// #[at("/user/:name")]
|
|
// User { name: String },
|
|
#[at("/login")]
|
|
Login,
|
|
|
|
#[not_found]
|
|
#[at("/404")]
|
|
NotFound,
|
|
}
|
|
|
|
pub fn switch(route: Route) -> Html {
|
|
match route {
|
|
Route::Index => html! {
|
|
<layouts::LoggedIn>
|
|
<Index />
|
|
</layouts::LoggedIn>
|
|
},
|
|
// Route::User { name } => html! {
|
|
// <User {name} />
|
|
// },
|
|
Route::Login => html! {
|
|
<Login />
|
|
},
|
|
Route::NotFound => html! {
|
|
<NotFound />
|
|
},
|
|
}
|
|
}
|