diff --git a/src/pages/login.rs b/src/pages/login.rs index 8ba0c1e..72196b5 100644 --- a/src/pages/login.rs +++ b/src/pages/login.rs @@ -1,9 +1,10 @@ use crate::auth::login; use leptos::leptos_dom::*; use leptos::*; -use leptos_icons::IoIcon::*; use leptos_icons::AiIcon::*; +use leptos_icons::IoIcon::*; use leptos_icons::*; +use leptos_router::*; #[component] pub fn Login() -> impl IntoView { @@ -17,12 +18,16 @@ pub fn Login() -> impl IntoView { log!("showing password"); }; + let navigate = leptos_router::use_navigate(); + let on_submit = move |ev: leptos::ev::SubmitEvent| { ev.prevent_default(); let username_or_email1 = username_or_email.get(); let password1 = password.get(); + let mut success: bool = false; + spawn_local(async move { let login_result = login(username_or_email1, password1).await; if let Err(err) = login_result { @@ -31,10 +36,15 @@ pub fn Login() -> impl IntoView { } else if let Ok(true) = login_result { // Redirect to the login page log!("Logged in Successfully!"); + success = true; } else if let Ok(false) = login_result { log!("Invalid username or password"); } }); + if success { + navigate("/", Default::default()); + log!("navigated to home after login"); + } }; view! { diff --git a/src/pages/signup.rs b/src/pages/signup.rs index 8485968..1f2964b 100644 --- a/src/pages/signup.rs +++ b/src/pages/signup.rs @@ -15,6 +15,8 @@ pub fn Signup() -> impl IntoView { let (show_password, set_show_password) = create_signal(false); + let navigate = leptos_router::use_navigate(); + let toggle_password = move |_| { set_show_password.update(|show_password| *show_password = !*show_password); log!("showing password"); @@ -29,6 +31,9 @@ pub fn Signup() -> impl IntoView { password: Some(password.get()), created_at: None, }; + + let mut success: bool = false; + log!("new user: {:?}", new_user); spawn_local(async move { if let Err(err) = signup(new_user).await { @@ -37,8 +42,13 @@ pub fn Signup() -> impl IntoView { } else { // Redirect to the login page log!("Signed up successfully!"); + success = true; } }); + if success { + navigate("/", Default::default()); + log!("navigated to home after signup"); + } }; view! { @@ -81,18 +91,13 @@ pub fn Signup() -> impl IntoView { - - /> } + fallback=move || view!{ /> } > - - - Already Have an Account? Go to Login