From 3196655524ed7860c7e26a1fdc5bdff9e4b21be3 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 19 Dec 2019 09:06:52 +0000 Subject: [PATCH] Replace UserInfo avatar with for fallback logic --- res/css/views/right_panel/_UserInfo.scss | 18 +++++---- src/components/views/right_panel/UserInfo.js | 40 +++++++++----------- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/res/css/views/right_panel/_UserInfo.scss b/res/css/views/right_panel/_UserInfo.scss index df7d0a5f87..a5428393ee 100644 --- a/res/css/views/right_panel/_UserInfo.scss +++ b/res/css/views/right_panel/_UserInfo.scss @@ -63,7 +63,6 @@ limitations under the License. .mx_UserInfo_avatar { margin: 24px 32px 0 32px; - cursor: pointer; } .mx_UserInfo_avatar > div { @@ -71,18 +70,23 @@ limitations under the License. margin: 0 auto; } - .mx_UserInfo_avatar > div > div { + .mx_UserInfo_avatar > div * { /* use padding-top instead of height to make this element square, as the % in padding is a % of the width (including margin, that's why we had to put the margin to center on a parent div), and not a % of the parent height. */ - padding-top: 100%; - height: 0; + width: 30vh; + height: 30vh; + object-fit: cover; border-radius: 100%; box-sizing: content-box; - background-repeat: no-repeat; - background-size: cover; - background-position: center; + } + + // override the calculated sizes so that the letter isn't HUGE + .mx_UserInfo_avatar > div .mx_BaseAvatar_initial { + font-size: 26px !important; + width: 30vh !important; + line-height: 30vh !important; } .mx_UserInfo_avatar .mx_BaseAvatar.mx_BaseAvatar_image { diff --git a/src/components/views/right_panel/UserInfo.js b/src/components/views/right_panel/UserInfo.js index d1d7aa0371..0116fafb9e 100644 --- a/src/components/views/right_panel/UserInfo.js +++ b/src/components/views/right_panel/UserInfo.js @@ -1051,16 +1051,9 @@ const UserInfo = withLegacyMatrixClient(({matrixClient: cli, user, groupId, room } }, [cli, user.userId]); - - const onMemberAvatarKey = e => { - if (e.key === "Enter") { - onMemberAvatarClick(); - } - }; - const onMemberAvatarClick = useCallback(() => { const member = user; - const avatarUrl = member.getMxcAvatarUrl(); + const avatarUrl = member.getMxcAvatarUrl ? member.getMxcAvatarUrl() : member.avatarUrl; if (!avatarUrl) return; const httpUrl = cli.mxcUrlToHttp(avatarUrl); @@ -1158,21 +1151,22 @@ const UserInfo = withLegacyMatrixClient(({matrixClient: cli, user, groupId, room statusLabel = { statusMessage }; } - const avatarUrl = user.getMxcAvatarUrl ? user.getMxcAvatarUrl() : user.avatarUrl; - let avatarElement; - if (avatarUrl) { - const httpUrl = cli.mxcUrlToHttp(avatarUrl, 800, 800); - avatarElement =
-
-
; - } + // const avatarUrl = user.getMxcAvatarUrl ? user.getMxcAvatarUrl() : user.avatarUrl; + const MemberAvatar = sdk.getComponent('avatars.MemberAvatar'); + const avatarElement = ( +
+
+ +
+
+ ); let closeButton; if (onClose) {