added simple route to home after signup and login
modified: src/pages/login.rs modified: src/pages/signup.rs
This commit is contained in:
parent
2b76340608
commit
7236e09b4b
@ -1,9 +1,10 @@
|
|||||||
use crate::auth::login;
|
use crate::auth::login;
|
||||||
use leptos::leptos_dom::*;
|
use leptos::leptos_dom::*;
|
||||||
use leptos::*;
|
use leptos::*;
|
||||||
use leptos_icons::IoIcon::*;
|
|
||||||
use leptos_icons::AiIcon::*;
|
use leptos_icons::AiIcon::*;
|
||||||
|
use leptos_icons::IoIcon::*;
|
||||||
use leptos_icons::*;
|
use leptos_icons::*;
|
||||||
|
use leptos_router::*;
|
||||||
|
|
||||||
#[component]
|
#[component]
|
||||||
pub fn Login() -> impl IntoView {
|
pub fn Login() -> impl IntoView {
|
||||||
@ -17,12 +18,16 @@ pub fn Login() -> impl IntoView {
|
|||||||
log!("showing password");
|
log!("showing password");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let navigate = leptos_router::use_navigate();
|
||||||
|
|
||||||
let on_submit = move |ev: leptos::ev::SubmitEvent| {
|
let on_submit = move |ev: leptos::ev::SubmitEvent| {
|
||||||
ev.prevent_default();
|
ev.prevent_default();
|
||||||
|
|
||||||
let username_or_email1 = username_or_email.get();
|
let username_or_email1 = username_or_email.get();
|
||||||
let password1 = password.get();
|
let password1 = password.get();
|
||||||
|
|
||||||
|
let mut success: bool = false;
|
||||||
|
|
||||||
spawn_local(async move {
|
spawn_local(async move {
|
||||||
let login_result = login(username_or_email1, password1).await;
|
let login_result = login(username_or_email1, password1).await;
|
||||||
if let Err(err) = login_result {
|
if let Err(err) = login_result {
|
||||||
@ -31,10 +36,15 @@ pub fn Login() -> impl IntoView {
|
|||||||
} else if let Ok(true) = login_result {
|
} else if let Ok(true) = login_result {
|
||||||
// Redirect to the login page
|
// Redirect to the login page
|
||||||
log!("Logged in Successfully!");
|
log!("Logged in Successfully!");
|
||||||
|
success = true;
|
||||||
} else if let Ok(false) = login_result {
|
} else if let Ok(false) = login_result {
|
||||||
log!("Invalid username or password");
|
log!("Invalid username or password");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if success {
|
||||||
|
navigate("/", Default::default());
|
||||||
|
log!("navigated to home after login");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
view! {
|
view! {
|
||||||
|
@ -15,6 +15,8 @@ pub fn Signup() -> impl IntoView {
|
|||||||
|
|
||||||
let (show_password, set_show_password) = create_signal(false);
|
let (show_password, set_show_password) = create_signal(false);
|
||||||
|
|
||||||
|
let navigate = leptos_router::use_navigate();
|
||||||
|
|
||||||
let toggle_password = move |_| {
|
let toggle_password = move |_| {
|
||||||
set_show_password.update(|show_password| *show_password = !*show_password);
|
set_show_password.update(|show_password| *show_password = !*show_password);
|
||||||
log!("showing password");
|
log!("showing password");
|
||||||
@ -29,6 +31,9 @@ pub fn Signup() -> impl IntoView {
|
|||||||
password: Some(password.get()),
|
password: Some(password.get()),
|
||||||
created_at: None,
|
created_at: None,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let mut success: bool = false;
|
||||||
|
|
||||||
log!("new user: {:?}", new_user);
|
log!("new user: {:?}", new_user);
|
||||||
spawn_local(async move {
|
spawn_local(async move {
|
||||||
if let Err(err) = signup(new_user).await {
|
if let Err(err) = signup(new_user).await {
|
||||||
@ -37,8 +42,13 @@ pub fn Signup() -> impl IntoView {
|
|||||||
} else {
|
} else {
|
||||||
// Redirect to the login page
|
// Redirect to the login page
|
||||||
log!("Signed up successfully!");
|
log!("Signed up successfully!");
|
||||||
|
success = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if success {
|
||||||
|
navigate("/", Default::default());
|
||||||
|
log!("navigated to home after signup");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
view! {
|
view! {
|
||||||
@ -81,18 +91,13 @@ pub fn Signup() -> impl IntoView {
|
|||||||
<i></i>
|
<i></i>
|
||||||
<Show
|
<Show
|
||||||
when=move || {show_password() == false}
|
when=move || {show_password() == false}
|
||||||
fallback=move || view!{ <button on:click=toggle_password class="password-visibility">
|
fallback=move || view!{ <button on:click=toggle_password class="password-visibility"> <Icon icon=Icon::from(AiEyeInvisibleFilled) /></button> /> }
|
||||||
<Icon icon=Icon::from(AiEyeInvisibleFilled) />
|
|
||||||
</button> /> }
|
|
||||||
>
|
>
|
||||||
<button on:click=toggle_password class="password-visibility">
|
<button on:click=toggle_password class="password-visibility">
|
||||||
<Icon icon=Icon::from(AiEyeFilled) />
|
<Icon icon=Icon::from(AiEyeFilled) />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</Show>
|
</Show>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input type="submit" value="Sign Up" />
|
<input type="submit" value="Sign Up" />
|
||||||
<span class="go-to-login">
|
<span class="go-to-login">
|
||||||
Already Have an Account? <a href="/login">Go to Login</a>
|
Already Have an Account? <a href="/login">Go to Login</a>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user