From b537ba587ba7f04707938afa9375fcf86e55d2eb 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 20:51:06 -0500 Subject: [PATCH] refactor: not all themes have header user a more specific selector that only updates the correct avatars using user id --- public/language/en-GB/pages.json | 1 + public/src/modules/accounts/picture.js | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/public/language/en-GB/pages.json b/public/language/en-GB/pages.json index 6586bf499c..060156a76b 100644 --- a/public/language/en-GB/pages.json +++ b/public/language/en-GB/pages.json @@ -55,6 +55,7 @@ "account/watched_categories": "%1's Watched Categories", "account/bookmarks": "%1's Bookmarked Posts", "account/settings": "User Settings", + "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", "account/upvoted": "Posts upvoted by %1", diff --git a/public/src/modules/accounts/picture.js b/public/src/modules/accounts/picture.js index e9413bf209..c4690bb70f 100644 --- a/public/src/modules/accounts/picture.js +++ b/public/src/modules/accounts/picture.js @@ -113,15 +113,17 @@ define('accounts/picture', [ if (!picture && ajaxify.data.defaultAvatar) { picture = ajaxify.data.defaultAvatar; } - $('#header [component="avatar/picture"]')[picture ? 'show' : 'hide'](); - $('#header [component="avatar/icon"]')[!picture ? 'show' : 'hide'](); + 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'](); if (picture) { - $('#header [component="avatar/picture"]').attr('src', picture); + pictureEl.attr('src', picture); } if (iconBgColor) { - document.querySelectorAll('[component="navbar"] [component="avatar/icon"]').forEach((el) => { - el.style['background-color'] = iconBgColor; + iconEl.css({ + 'background-color': iconBgColor, }); } };