From 7f5e914e220ff64083fc6fdc004932ee52527608 Mon Sep 17 00:00:00 2001 From: Colton Shaw <46071821+coltoneshaw@users.noreply.github.com> Date: Mon, 6 Feb 2023 12:08:35 -0500 Subject: [PATCH] [MM-50306] - Clickable username in RHS (#12141) Automatic Merge --- components/channel_members_rhs/member.tsx | 83 +++++++++++++++++------ 1 file changed, 63 insertions(+), 20 deletions(-) diff --git a/components/channel_members_rhs/member.tsx b/components/channel_members_rhs/member.tsx index 1b87b7296485..1cc58af221ff 100644 --- a/components/channel_members_rhs/member.tsx +++ b/components/channel_members_rhs/member.tsx @@ -7,12 +7,13 @@ import classNames from 'classnames'; import {FormattedMessage} from 'react-intl'; import GuestTag from 'components/widgets/tag/guest_tag'; +import ProfilePopover from 'components/profile_popover'; import ProfilePicture from 'components/profile_picture'; import {Client4} from 'mattermost-redux/client'; import ChannelMembersDropdown from 'components/channel_members_dropdown'; -import OverlayTrigger from 'components/overlay_trigger'; +import OverlayTrigger, {BaseOverlayTrigger} from 'components/overlay_trigger'; import Tooltip from 'components/tooltip'; import Constants from 'utils/constants'; @@ -34,6 +35,7 @@ const UserInfo = styled.div` overflow-x: hidden; text-overflow: ellipsis; white-space: nowrap; + cursor: pointer; `; const DisplayName = styled.span` @@ -102,32 +104,66 @@ interface Props { }; } +interface MMOverlayTrigger extends BaseOverlayTrigger { + hide: () => void; +} + const Member = ({className, channel, member, index, totalUsers, editing, actions}: Props) => { + const overlay = React.createRef(); + const profileSrc = Client4.getProfilePictureUrl(member.user.id, member.user.last_picture_update); + + const hideProfilePopover = () => { + if (overlay.current) { + overlay.current.hide(); + } + }; + return (
- - - - - - {member.displayName} - {isGuest(member.user.roles) && } - - {member.displayName === member.user.username ? null : {'@'}{member.user.username} + + } - + > + + + + + + + {member.displayName} + {isGuest(member.user.roles) && } + + {member.displayName === member.user.username ? null : {'@'}{member.user.username} + } + + + +