use leptos::leptos_dom::*;
use leptos::*;
use leptos_icons::*;
use crate::auth::get_user;
use crate::auth::logout;
use crate::models::User;
#[component]
pub fn Personal() -> impl IntoView {
view! {
}
}
#[component]
pub fn Profile() -> impl IntoView {
let (dropdown_open, set_dropdown_open) = create_signal(false);
let logged_in = create_rw_signal(false);
let user_signal = create_rw_signal(User::default());
let open_dropdown = move |_| {
spawn_local(async move {
let user = get_user().await;
if let Ok(user) = user {
logged_in.set(true);
user_signal.update(|value| {
*value = user;
});
} else {
logged_in.set(false);
}
set_dropdown_open.update(|value| *value = !*value);
});
};
view! {