🏗️」 wip: work in progress, not done yet.

This commit is contained in:
y-syo
2025-09-30 16:05:15 +02:00
parent cb8823fcf3
commit 59bd580136
5 changed files with 88 additions and 17 deletions

View File

@ -1,4 +1,5 @@
import Aview from "./Aview.ts"
import { isLogged, navigationManager } from "../main.ts"
export default class extends Aview {
@ -15,7 +16,7 @@ export default class extends Aview {
<input type="text" id="username" placeholder="username" class="bg-white text-neutral-900 border rounded-md w-full px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500"></input>
<input type="password" id="password" placeholder="password" class="bg-white text-neutral-900 border w-full px-4 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"></input>
<p id="login-error-message" class="hidden text-red-700 dark:text-red-500"></p>
<button id="register-button" type="submit" class="bg-blue-600 text-white hover:bg-blue-500 w-full py-2 rounded-md transition-colors">register</button>
<a class="text-gray-400 dark:text-gray-600 underline" href="/login" data-link>
@ -31,28 +32,40 @@ export default class extends Aview {
const password = (document.getElementById("password") as HTMLInputElement).value;
try {
const response = await fetch("http://localhost:3001/register", {
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 response.json();
const data = await data_req.json();
if (response.status === 200)
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 (response.status === 400)
else if (data_req.status === 400)
{
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.log(error);
console.error(error);
document.getElementById("login-error-message").innerHTML = "error: server error, try again later...";
document.getElementById("login-error-message").classList.remove("hidden");
}