diff --git a/static/js/login.js.save b/static/js/login.js.save deleted file mode 100644 index 9703f1b..0000000 --- a/static/js/login.js.save +++ /dev/null @@ -1,198 +0,0 @@ -if (localStorage.getItem("DONOTSHARE-secretkey") !== null) { - window.location.replace("/app/") - document.body.innerHTML = "Redirecting..." - throw new Error(); -} -if (localStorage.getItem("DONOTSHARE-password") !== null) { - window.location.replace("/app/") - document.body.innerHTML = "Redirecting..." - throw new Error(); -} - -let remote = localStorage.getItem("homeserverURL") -if (remote == null) { - localStorage.setItem("homeserverURL", "https://notes.hectabit.org") - remote = "https://notes.hectabit.org" -} - -let usernameBox = document.getElementById("usernameBox") -let passwordBox = document.getElementById("passwordBox") -let statusBox = document.getElementById("statusBox") -let signupButton = document.getElementById("signupButton") -let inputNameBox = document.getElementById("inputNameBox") -let backButton = document.getElementById("backButton") - -usernameBox.classList.remove("hidden") -inputNameBox.innerText = "Username:" - -let currentInputType = 0 - -function showInput(inputType) { - if (inputType === 0) { - usernameBox.classList.remove("hidden") - passwordBox.classList.add("hidden") - backButton.classList.add("hidden") - inputNameBox.innerText = "Username:" - statusBox.innerText = "Login to your Burgernotes account!" - currentInputType = 0 - } else if (inputType === 1) { - usernameBox.classList.add("hidden") - passwordBox.classList.remove("hidden") - backButton.classList.remove("hidden") - inputNameBox.innerText = "Password:" - currentInputType = 1 - } else if (inputType === 2) { - usernameBox.classList.add("hidden") - passwordBox.classList.add("hidden") - signupButton.classList.add("hidden") - backButton.classList.add("hidden") - inputNameBox.classList.add("hidden") - inputNameBox.innerText = "Password:" - currentInputType = 2 - } -} - -function showElements(yesorno) { - if (!yesorno) { - usernameBox.classList.add("hidden") - passwordBox.classList.add("hidden") - signupButton.classList.add("hidden") - backButton.classList.add("hidden") - inputNameBox.classList.add("hidden") - showInput(currentInputType) - } - else { - usernameBox.classList.remove("hidden") - passwordBox.classList.remove("hidden") - signupButton.classList.remove("hidden") - backButton.classList.remove("hidden") - inputNameBox.classList.remove("hidden") - showInput(currentInputType) - } -} - -document.addEventListener('DOMContentLoaded', function() { - document.getElementById("homeserver").innerText = "Your homeserver is: " + remote + ". " -}); - -signupButton.addEventListener("click", () => { - if (passwordBox.classList.contains("hidden")) { - if (usernameBox.value === "") { - statusBox.innerText = "A username is required!" - return - } else { - statusBox.innerText = "Welcome back, " + usernameBox.value + "!" - } - showInput(1) - } else { - async function doStuff() { - let username = usernameBox.value - let password = passwordBox.value - - if (password === "") { - statusBox.innerText = "A password is required!" - return - } - - showInput(2) - showElements(true) - statusBox.innerText = "Signing in..." - - async function hashpassold(pass) { - return await hashwasm.argon2id({ - password: pass, - salt: await hashwasm.sha512(pass), - parallelism: 1, - iterations: 256, - memorySize: 512, - hashLength: 32, - outputType: "encoded" - }) - } - - async function hashpass(pass) { - let key = pass - for (let i = 0; i < 128; i++) { - key = await hashwasm.sha3(key) - } - return key - } - - fetch(remote + "/api/login", { - method: "POST", - body: JSON.stringify({ - username: username, - password: await hashpass(password), - passwordchange: "no", - newpass: "null" - }), - headers: { - "Content-Type": "application/json; charset=UTF-8" - } - }) - .then((response) => response) - .then((response) => { - async function doStuff() { - let responseData = await response.json() - if (response.status === 200) { - localStorage.setItem("DONOTSHARE-secretkey", responseData["key"]) - localStorage.setItem("DONOTSHARE-password", await hashwasm.sha512(password)) - - window.location.href = "/app/" - } - else if (response.status === 401) { - console.log("Trying oldhash") - fetch(remote + "/api/login", { - method: "POST", - body: JSON.stringify({ - username: username, - password: await hashpassold(password), - passwordchange: "yes", - newpass: await hashpass(password) - }), - headers: { - "Content-Type": "application/json; charset=UTF-8" - } - }) - .then((response) => response) - .then((response) => { - async function doStuff2() { - let responseData = await response.json() - if (response.status === 200) { - localStorage.setItem("DONOTSHARE-secretkey", responseData["key"]) - localStorage.setItem("DONOTSHARE-password", await hashwasm.sha512(password)) - - window.location.href = "/app/" - } - else if (response.status === 401) { - statusBox.innerText = "Wrong username or password..." - showInput(1) - showElements(true) - } - else { - statusBox.innerText = "Something went wrong! (error code: " + response.status + ")" - showInput(1) - showElements(true) - } - } - doStuff2() - }); - } - else { - statusBox.innerText = "Something went wrong! (error code: " + response.status + ")" - showInput(1) - showElements(true) - } - } - doStuff() - }); - } - doStuff() - } -}); - -backButton.addEventListener("click", () => { - showInput(0) -}); - -showInput(0)