async function volt_get(url) { const results = await fetch("https://voltsforbrains.com/" + url, { method: "GET", headers: { "Content-Type": "application/json", }, }); return results; } async function volt_post(url, body) { const results = await fetch("https://voltsforbrains.com/" + url, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(body), }); return results; } function collectPageInputs() { const allInputs = document.querySelectorAll("input"); const collectedInputs = {}; allInputs.forEach((elem) => { collectedInputs[elem.name] = elem.value; }); return collectedInputs; } function passwordIsValid(inputs) { if (inputs.pass1.length) { return true; } else return false; } function passwordsMatch(inputs) { if (inputs.pass1 == inputs.pass2) { return true; } else return false; } function usernameIsAvailable(inputs) { if (inputs.username == "Derek") { return false; } else { return true; } } function validateSignupData(inputs) { return ( passwordIsValid(inputs) && passwordsMatch(inputs) && usernameIsAvailable(inputs) ); } document.addEventListener("DOMContentLoaded", () => { const loginButton = document.getElementById("login"); const signupButton = document.getElementById("signup"); if (loginButton) { loginButton.addEventListener("click", () => { loginButton.classList.add("active"); const rawInputs = collectPageInputs(); const loginData = { username: rawInputs["user"], password: rawInputs["password"], }; volt_post("login", loginData).then((response) => { loginButton.classList.remove("active"); if(response?.status == 200){ //you logged in const blurb = document.getElementById("blurb"); blurb.innerHTML = "Congratulations, logged in."; window.location.replace("/home"); } else if(response?.status == 400){ //you succccc const blurb = document.getElementById("blurb"); blurb.innerHTML = "YOU ARE NOT LOGGED IN, LOGIN DENIED!"; } console.log(response); }); }); } else if (signupButton) { signupButton.addEventListener("click", () => { const rawInputs = collectPageInputs(); const signupData = { username: rawInputs["username"], email: rawInputs["email"], pass1: rawInputs["password"], pass2: rawInputs["repassword"], }; console.log(validateSignupData(signupData)); console.log(signupData); volt_post("signup", signupData); }); } });