import Aview from "./Aview.ts" import { isLogged, user_api, auth_api } from "../main.ts" export default class extends Aview { async getHTML() { return `
knl_meowscendence
`; } open: boolean = false; async run() { let uuid: String; if (this.open) { this.open = false; document.getElementById("taskbar-menu").innerHTML = ""; return ; } this.open = true; document.getElementById("taskbar-menu").innerHTML = await this.getHTML(); async function getMainHTML() { if (!(await isLogged())) { document.getElementById("menu-bottom-div")?.classList.add("hidden"); return ` login register `; } document.getElementById("menu-bottom-div")?.classList.remove("hidden"); uuid = document.cookie.match(new RegExp('(^| )' + "uuid" + '=([^;]+)'))[2]; const userdata_req = await fetch(`${user_api}/users/${uuid}`, { method: "GET", credentials: "include", }); if (userdata_req.status == 404) { console.log("invalid user"); return ; } let userdata = await userdata_req.json(); return ` hi, ${ userdata.displayName.length > 8 ? userdata.displayName.substring(0, 8) + "." : userdata.displayName } !
profile settings `; } document.getElementById("profile-items").innerHTML = await getMainHTML(); requestAnimationFrame(() => { document.getElementById("menu-logout")?.addEventListener("click", async () => { let req = fetch(`${auth_api}/logout`, { method: "GET", credentials: "include", }); req.then((res) => { isLogged(); if (res.status === 200) this.run(); else console.log("logout failed"); }); }); }); } }