const loginErrorSpan = document.querySelector("#login-error"); document.querySelector("#login").onsubmit = async (event) => { event.preventDefault(); loginErrorSpan.hidden = true; const form = new FormData(event.target); const body = JSON.stringify({ username: form.get("username"), password: form.get("password"), }); const res = await fetch("/api/login", { method: "POST", headers: new Headers({ "Content-Type": "application/json" }), body, }).then((res) => res.json()); if (!res.ok) { loginErrorSpan.innerText = res.msg; loginErrorSpan.hidden = false; return; } const params = new URLSearchParams(window.location.search); if (!params.has("refer")) { window.location.pathname = "/"; return; } const refer = decodeURIComponent(params.get("refer")); params.delete("refer") window.location.search = params.toString(); window.location.pathname = refer; };