2024-09-26 01:08:10 +02:00

35 lines
1.0 KiB
JavaScript

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")
if (params.size === 0) {
window.location.pathname = refer;
return;
}
window.location = `${refer}?${params.toString()}`;
};