fix: hide account icon when using discord avatar (#3162)

* fix: hide account icon when using discord avatar

* fix: only use discord avatar if it loads successfully

* fix: set usingAvatar on successful avatar load only

* chore: use arrow function
This commit is contained in:
Zach Stence 2022-06-19 19:55:28 -05:00 committed by GitHub
parent bc58cbf613
commit f2e8225f59
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -24,12 +24,23 @@ export function loading(truefalse: boolean): void {
export function update(discordId?: string, discordAvatar?: string): void {
if (Auth.currentUser != null) {
if (discordAvatar && discordId) {
usingAvatar = true;
$("#top #menu .account .avatar").css(
"background-image",
`url(https://cdn.discordapp.com/avatars/${discordId}/${discordAvatar}.png)`
);
$("#top #menu .account .avatar").removeClass("hidden");
// Replace font-awesome account icon with Discord avatar only if it loads successfully
// https://stackoverflow.com/a/5058336/9080819
const avatarUrl = `https://cdn.discordapp.com/avatars/${discordId}/${discordAvatar}.png`;
$("<img/>")
.attr("src", avatarUrl)
.on("load", (event) => {
$(event.currentTarget).remove();
usingAvatar = true;
$("#top #menu .account .avatar").css(
"background-image",
`url(${avatarUrl})`
);
$("#top #menu .account .icon").addClass("hidden");
$("#top #menu .account .avatar").removeClass("hidden");
});
} else {
$("#top #menu .account .avatar").addClass("hidden");
}