bep40's picture
Upload src/app.js
5ca65d0 verified
Raw
History Blame
1.46 kB
// This file needs the thumbnail fix added before the final closing
// Add this before the last line:
const THUMB_KEY = "avatar.thumbs";
const avatarThumbPreview = document.getElementById("avatar-thumb-preview");
function loadThumbs() {
try { return JSON.parse(localStorage.getItem(THUMB_KEY) || "{}"); }
catch { return {}; }
}
function saveThumbs(map) { localStorage.setItem(THUMB_KEY, JSON.stringify(map)); }
function serverThumbUrl(name) {
if (!name) return "";
return `/avatars/${name}.thumb.png`;
}
function updateAvatarThumbPreview() {
if (!avatarThumbPreview) return;
const name = chatAvatarSelect.value || settings.avatar || "";
const map = loadThumbs();
const local = map[name] || "";
if (local) {
avatarThumbPreview.src = local;
avatarThumbPreview.hidden = false;
return;
}
const srv = serverThumbUrl(name);
if (srv) {
avatarThumbPreview.src = srv;
avatarThumbPreview.hidden = false;
} else {
avatarThumbPreview.hidden = true;
}
}
if (chatAvatarSelect) chatAvatarSelect.addEventListener("change", updateAvatarThumbPreview);
// Snap button handler:
const snapBtn = document.getElementById("snap-btn");
if (snapBtn) {
snapBtn.addEventListener("click", () => {
if (!stage.head) { setCaption("AVATAR CHUA SAN SANG", "error"); return; }
const url = stage.capturePNG();
if (!url) { setCaption("KHONG CHUP DUOC ANH", "error"); return; }
// TODO: send to /api/avatar-thumbnail
});
}