38 lines
1.0 KiB
Rust
38 lines
1.0 KiB
Rust
use crate::Route;
|
|
use dioxus::prelude::*;
|
|
|
|
use crate::components::auth::Auth;
|
|
|
|
#[component]
|
|
pub fn Authenticated() -> Element {
|
|
let user = use_context::<crate::UserState>();
|
|
|
|
rsx! {
|
|
match &*user.read_unchecked() {
|
|
Some(Ok(_)) => rsx! {
|
|
div {
|
|
class: "navbar bg-base-200",
|
|
div {
|
|
class: "flex-1",
|
|
Link { class: "btn btn-ghost text-xl", to: Route::Home {}, "XVMCMM" },
|
|
}
|
|
div {
|
|
class: "flex-none",
|
|
ul {
|
|
class: "px-1 py-1",
|
|
li { Link { class: "btn btn-primary", to: Route::New {}, "Create" } },
|
|
}
|
|
}
|
|
}
|
|
Outlet::<Route> {}
|
|
},
|
|
Some(Err(_)) => rsx! {
|
|
Auth {},
|
|
},
|
|
None => rsx! {
|
|
div { "Loading..." }
|
|
}
|
|
}
|
|
}
|
|
}
|