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