import Aview from "./Aview.ts" import { dragElement } from "./drag.ts"; import { setOnekoState } from "../oneko.ts" import { isLogged, navigationManager } from "../main.ts" export default class extends Aview { constructor() { super(); this.setTitle("register"); setOnekoState("default"); } async getHTML() { return `
register.ts
×

welcome ! please register.


`; } async run() { dragElement(document.getElementById("window")); const login = async () => { const username = (document.getElementById("username") as HTMLInputElement).value; const password = (document.getElementById("password") as HTMLInputElement).value; try { const data_req = await fetch("http://localhost:3001/register", { method: "POST", headers: { "Content-Type": "application/json", }, credentials: "include", body: JSON.stringify({ user: username, password: password }), }); const data = await data_req.json(); if (data_req.status === 200) { let uuid_req = await fetch("http://localhost:3001/me", { method: "GET", credentials: "include", }); let uuid = await uuid_req.json(); document.cookie = `uuid=${uuid.user};max-ages=${60 * 60 * 24 * 7}`; console.log(document.cookie); isLogged(); navigationManager("/"); } else if (data_req.status === 400) { if (document.getElementById("login-error-message")) { document.getElementById("login-error-message").innerHTML = "error: " + data.error; document.getElementById("login-error-message")?.classList.remove("hidden"); } } else { throw new Error("invalid response"); } } catch (error) { console.error(error); if (document.getElementById("login-error-message")) { document.getElementById("login-error-message").innerHTML = "error: server error, try again later..."; document.getElementById("login-error-message")?.classList.remove("hidden"); } } }; document.getElementById("register-button")?.addEventListener("click", login); } }