Files
AobaV2/AobaClient/src/layouts/main_layout.rs

37 lines
649 B
Rust

use dioxus::prelude::*;
use crate::{
Route,
components::{ContextMenuRenderer, ContextMenuRoot, Navbar},
contexts::AuthContext,
views::Login,
};
#[component]
pub fn MainLayout() -> Element {
let auth_context = use_context::<AuthContext>();
if auth_context.jwt.cloned().is_none() {
return rsx! {
Login { }
};
}
let mut ct_renderer = use_context::<ContextMenuRenderer>();
return rsx! {
ContextMenuRoot { }
Navbar { }
div {
id: "content",
onclick: move |_| {
ct_renderer.close();
},
oncontextmenu: move |_| {
ct_renderer.close();
},
Outlet::<Route> { }
}
};
}