async function register() { if(document.getElementById("pass").value.length < 10) { alert("Password has to be at least 10 characters long") return; } if(document.getElementById("user").value.length > 25) { alert("Username is too long!") return; } if(document.getElementById("user").value.search("@") != -1) { alert("User cannot contain '@' character!") return; } let r = (await post("/register",{ user: document.getElementById("user").value, pass: document.getElementById("pass").value, r: REDIRECT_URL })) if(!r.url.endsWith("/user?success=true") && !r.url.endsWith(REDIRECT_URL)) { if(r.url.endsWith("already_exists")) { alert("An account with that name already exists! Did you mean to login?") return } //fallback document.getElementById("pass").value = "" console.error("registration failed") alert("Registration failed") return; } window.location = REDIRECT_URL || "/user" } function passkeydown(e) { if(e.code == "Enter") { register() } }