diff --git a/src/pages/signup.rs b/src/pages/signup.rs index 6bc06da..7ea107e 100644 --- a/src/pages/signup.rs +++ b/src/pages/signup.rs @@ -2,6 +2,9 @@ use leptos::leptos_dom::*; use leptos::*; use leptos_icons::IoIcon::*; use leptos_icons::*; +use crate::auth::signup; +use crate::models::User; + #[component] pub fn Signup() -> impl IntoView { @@ -9,6 +12,26 @@ pub fn Signup() -> impl IntoView { let (email, set_email) = create_signal("".to_string()); let (password, set_password) = create_signal("".to_string()); + let on_submit = move |ev: leptos::ev::SubmitEvent| { + ev.prevent_default(); + let new_user = User { + id: None, + username: username.get(), + email: email.get(), + password: Some(password.get()), + created_at: None, + }; + + spawn_local(async move { + if let Err(err) = signup(new_user).await { + // Handle the error here, e.g., log it or display to the user + log!("Error signing up: {:?}", err); + } else { + // Redirect to the login page + log!("Signed up successfully!"); + } + }); + }; view!{