FeDirect/static/about.mts

28 lines
1 KiB
TypeScript
Raw Normal View History

2025-02-13 06:53:11 +01:00
import { Dialog } from "./dialog.mjs";
import { findAnchorOrFail, findButtonOrFail, findDialogOrFail, findImageOrFail, findSpanOrFail } from "./dom.mjs";
2025-02-13 06:06:15 +01:00
2025-02-13 06:53:11 +01:00
const openButton = findAnchorOrFail(document.body, "#aboutLink");
const dialog = findDialogOrFail(document.body, "#about")
const versionParagraph = findSpanOrFail(dialog, "#version");
const charlotteImage = findImageOrFail(dialog, "#charlotteAvatar");
const kioImage = findImageOrFail(dialog, "#kioAvatar");
const closeButton = findButtonOrFail(dialog, ".close");
const aboutDialog = new Dialog(dialog);
openButton.addEventListener("click", e => aboutDialog.open());
closeButton.addEventListener("click", e => aboutDialog.close());
populateVersion();
populateUsers();
async function populateVersion() {
2025-02-13 06:06:15 +01:00
versionParagraph.innerText = await fetch("/api/about/version").then(r => r.text());
}
2025-02-13 03:24:59 +01:00
2025-02-13 06:53:11 +01:00
async function populateUsers() {
2025-02-13 06:06:15 +01:00
const { charlotte, kio } = await fetch("/api/about/nekomata_avatars").then(r => r.json());
if (charlotte) charlotteImage.src = charlotte;
if (kio) kioImage.src = kio;
2025-02-13 03:24:59 +01:00
}