summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-12-19 23:42:19 +0100
committerRory& <root@rory.gay>2025-12-19 23:42:19 +0100
commit07aff67f4ddd11330071195f725ad4f4852db874 (patch)
treec04dc0a33b7ea1a34b08ec77c3de05d88083ed9e
parentImplement widget (diff)
downloadserver-ts-07aff67f4ddd11330071195f725ad4f4852db874.tar.xz
Widget improvements
-rw-r--r--assets/public/widget.html16
-rw-r--r--src/api/routes/guilds/#guild_id/widget.json.ts6
2 files changed, 19 insertions, 3 deletions
diff --git a/assets/public/widget.html b/assets/public/widget.html

index a03f4b36..7893d889 100644 --- a/assets/public/widget.html +++ b/assets/public/widget.html
@@ -62,8 +62,15 @@ </style> <script> - // id param in query const guildId = new URLSearchParams(window.location.search).get("id"); + const defaultAvatarHashMap = new Map([ + ["0", "4a8562cf00887030c416d3ec2d46385a"], + ["1", "9b0bb198936784c45c72833cc426cc55"], + ["2", "22341bdb500c7b63a93bbce957d1601e"], + ["3", "d9977836b82058bf2f74eebd50edc095"], + ["4", "9d6ddb4e4d899a533a8cc617011351c9"], + ["5", "7213ab6677377974697dfdfbaf5f6a6f"], + ]); document.addEventListener("DOMContentLoaded", function() { const vcList = document.getElementById("vc-list"); @@ -99,14 +106,19 @@ memberList.innerHTML = ""; data.members.forEach(member => { const memberItem = document.createElement("div"); + const img = document.createElement("img"); - img.src = member.avatar_url; + img.src = member.avatar_url ; img.alt = member.username; img.width = 32; img.height = 32; img.style.borderRadius = "50%"; img.style.marginRight = "8px"; + img.loading = "lazy"; + img.decoding = "async"; + img.style.contentVisibility = "auto"; memberItem.appendChild(img); + const nameSpan = document.createElement("span"); nameSpan.textContent = member.username; memberItem.appendChild(nameSpan); diff --git a/src/api/routes/guilds/#guild_id/widget.json.ts b/src/api/routes/guilds/#guild_id/widget.json.ts
index dea8f29f..619bdb60 100644 --- a/src/api/routes/guilds/#guild_id/widget.json.ts +++ b/src/api/routes/guilds/#guild_id/widget.json.ts
@@ -107,7 +107,11 @@ router.get( discriminator: x.user.discriminator, avatar: x.user.avatar, status: "online", // TODO - avatar_url: x.user.avatar ? `${Config.get().cdn.endpointPublic}/avatars/${x.id}/${x.user.avatar}.png` : undefined, + avatar_url: x.avatar + ? `${Config.get().cdn.endpointPublic}/guilds/${guild_id}/users/${x.id}/avatars/${x.avatar}.png` + : x.user.avatar + ? `${Config.get().cdn.endpointPublic}/avatars/${x.id}/${x.avatar}.png` + : `${Config.get().cdn.endpointPublic}/embed/avatars/${BigInt(x.id) % 6n}.png`, }; });