use crate::{ router::Route, storage::{self, UserData}, }; use web_sys::HtmlInputElement; use yew::{classes, function_component, html, Html}; use yew_router::components::Link; #[function_component] pub fn SignUp() -> Html { let (_, dispatch) = yewdux::use_store::(); let register = yew::functional::use_state(|| true); let reg = register.clone(); let reg_onchange = yew::Callback::from(move |_| { reg.set(!*reg); }); let password: yew::NodeRef = yew::NodeRef::default(); let pwd = password.clone(); let pwd_onchange = yew::Callback::from(move |_| { if let Some(p) = pwd.cast::() { // TODO: Remove as soon as the Logic is implemented. gloo_console::log!(format!("Password: {}", p.value())); } }); let mail_check = yew::functional::use_state(|| true); let mc = mail_check.clone(); let email: yew::NodeRef = yew::NodeRef::default(); let mail = email.clone(); let onchange = yew::Callback::from(move |_| { let dispatch = dispatch.clone(); if let Some(m) = mail.cast::() { // TODO: Remove as soon as the Logic is implemented. gloo_console::log!(format!("E-Mail: {}", m.value())); if !m.value().is_empty() { storage::set_email_address(dispatch, Some(m.value())); mc.set(false); } else { mc.set(true); } }; }); html! {

{ "Jetzt " } { register.then(||Some("registrieren")).unwrap_or(Some("einloggen")).unwrap() }

// to={Route::SignUp}>{ "Stattdessen anmelden" }>
to={Route::Verify} classes={classes!( "bg-primary", "hover:bg-primary-dark", "hover:text-white", "hover:-translate-y-1", "hover:cursor-pointer", "transition", "duration-150", "font-bold", "text-xl", "max-w-36", "rounded-md", "text-black", "text-center", "w-full", "min-h-12", "h-12", "flex", "justify-center", "items-center","mb-12" )} > { register.then(||Some("Weiter")).unwrap_or(Some("Anmelden")).unwrap() } >
} }