From 2a89f3d59765f0bf6223ebca606f81bc7290abc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 13 Jan 2023 22:04:07 -0500 Subject: [PATCH] properly update header user picture when icon is changed to picture --- public/src/modules/accounts/picture.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/public/src/modules/accounts/picture.js b/public/src/modules/accounts/picture.js index c4690bb70f..d8a64ac7c7 100644 --- a/public/src/modules/accounts/picture.js +++ b/public/src/modules/accounts/picture.js @@ -113,16 +113,25 @@ define('accounts/picture', [ if (!picture && ajaxify.data.defaultAvatar) { picture = ajaxify.data.defaultAvatar; } - const pictureEl = $(`[component="avatar/picture"][data-uid=${ajaxify.data.uid}]`); - const iconEl = $(`[component="avatar/icon"][data-uid=${ajaxify.data.uid}]`); - pictureEl[picture ? 'show' : 'hide'](); - iconEl[!picture ? 'show' : 'hide'](); + const headerPictureEl = $(`[component="header/avatar"] [component="avatar/picture"]`); + const headerIconEl = $(`[component="header/avatar"] [component="avatar/icon"]`); + if (picture) { - pictureEl.attr('src', picture); + if (!headerPictureEl.length && headerIconEl.length) { + const img = $(''); + $(headerIconEl[0].attributes).each(function () { + img.attr(this.nodeName, this.nodeValue); + }); + img.attr('component', 'avatar/picture') + .attr('src', picture) + .insertBefore(headerIconEl); + } + } else { + headerPictureEl.remove(); } if (iconBgColor) { - iconEl.css({ + headerIconEl.css({ 'background-color': iconBgColor, }); }