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 { let (username, set_username) = create_signal("".to_string()); 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!{
} }