From 929be68e691c1c4015fc6874111b19b9f5d68c02 Mon Sep 17 00:00:00 2001 From: Daniel Hader Date: Sat, 30 May 2026 10:10:17 -0500 Subject: registration page, me endpoint, and minor content tweaks --- static/register.js | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 static/register.js (limited to 'static/register.js') diff --git a/static/register.js b/static/register.js new file mode 100644 index 0000000..09175d6 --- /dev/null +++ b/static/register.js @@ -0,0 +1,50 @@ + +function display_error(message) { + document.getElementById("error-message").innerHTML = `Error: ${message}`; + document.getElementById("error").hidden = false; +} + +function init() { + const form = document.getElementById("register-form"); + form.addEventListener("submit", async (e) => { + e.preventDefault(); + + const body = {} + new FormData(form).forEach((value, key) => body[key] = value); + + try { + console.log(); + + const reg_res = await fetch("/user", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(body) + }); + + if (!reg_res.ok) { + const error = await reg_res.json(); + display_error(error.error); + return; + } + + const log_res = await fetch("/login", { + method: "POST", + headers: { "Content-Type": "application/json" }, + credentials: "include", + body: JSON.stringify(body) + }); + + if (!log_res.ok) { + const error = await log_res.json(); + display_error(error.error); + return; + } + + window.location.href = "index.html" + + } catch (err) { + console.log(err); + display_error("network error"); + } + }); +} -- cgit v1.2.3