From cf820653ee4c8bf258b8dceed3883ebe359edbb7 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Sat, 15 Mar 2025 14:55:23 -0500 Subject: [PATCH] make guild icons update --- src/webpage/guild.ts | 11 +++++++++-- src/webpage/localuser.ts | 5 ++++- src/webpage/member.ts | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/webpage/guild.ts b/src/webpage/guild.ts index 1f687cd..b2ec26b 100644 --- a/src/webpage/guild.ts +++ b/src/webpage/guild.ts @@ -440,8 +440,14 @@ class Guild extends SnowFlake { this.emojis = json.emojis; this.headers = this.owner.headers; this.channels = []; - - this.roles = []; + if (this.properties.icon !== json.icon) { + this.properties.icon = json.icon; + if (this.HTMLicon) { + const divy = this.generateGuildIcon(); + this.HTMLicon.replaceWith(divy); + this.HTMLicon = divy; + } + } this.roleids = new Map(); this.banner = json.banner; } @@ -666,6 +672,7 @@ class Guild extends SnowFlake { return a.position - b.position; }); } + HTMLicon?: HTMLElement; static generateGuildIcon(guild: Guild | (invitejson["guild"] & {info: {cdn: string}})) { const divy = document.createElement("div"); divy.classList.add("servernoti"); diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 9009711..e7d0fd5 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -490,8 +490,10 @@ class Localuser { const guildy = new Guild(temp.d, this, this.user); this.guilds.push(guildy); this.guildids.set(guildy.id, guildy); + const divy = guildy.generateGuildIcon(); + guildy.HTMLicon = divy; (document.getElementById("servers") as HTMLDivElement).insertBefore( - guildy.generateGuildIcon(), + divy, document.getElementById("bottomseparator"), ); })(); @@ -966,6 +968,7 @@ class Localuser { continue; } const divy = thing.generateGuildIcon(); + thing.HTMLicon = divy; serverlist.append(divy); } { diff --git a/src/webpage/member.ts b/src/webpage/member.ts index ae96e2b..7b34647 100644 --- a/src/webpage/member.ts +++ b/src/webpage/member.ts @@ -387,7 +387,7 @@ class Member extends SnowFlake { } static async resolveMember(user: User, guild: Guild): Promise { const maybe = user.members.get(guild); - if (!user.members.has(guild)) { + if (!maybe) { const membpromise = guild.localuser.resolvemember(user.id, guild.id); const promise = new Promise(async (res) => { const membjson = await membpromise;