@@ -21,10 +21,9 @@ import { RoomStateEvent } from "matrix-js-sdk/src/models/room-state";
2121
2222import Flair from '../elements/Flair' ;
2323import FlairStore from '../../../stores/FlairStore' ;
24- import { getUserNameColorClass } from '../../../utils/FormattingUtils' ;
2524import MatrixClientContext from "../../../contexts/MatrixClientContext" ;
2625import { replaceableComponent } from "../../../utils/replaceableComponent" ;
27- import UserIdentifier from '../../../customisations/UserIdentifier' ;
26+ import DisambiguatedProfile from "./DisambiguatedProfile" ;
2827import RoomContext , { TimelineRenderingType } from '../../../contexts/RoomContext' ;
2928import SettingsStore from "../../../settings/SettingsStore" ;
3029import { MatrixClientPeg } from "../../../MatrixClientPeg" ;
@@ -106,9 +105,8 @@ export default class SenderProfile extends React.Component<IProps, IState> {
106105 }
107106
108107 render ( ) {
109- const { mxEvent } = this . props ;
110- const colorClass = getUserNameColorClass ( mxEvent . getSender ( ) ) ;
111- const { msgtype } = mxEvent . getContent ( ) ;
108+ const { mxEvent, onClick } = this . props ;
109+ const msgtype = mxEvent . getContent ( ) . msgtype ;
112110
113111 let member = mxEvent . sender ;
114112 if ( SettingsStore . getValue ( "feature_use_only_current_profiles" ) ) {
@@ -118,10 +116,6 @@ export default class SenderProfile extends React.Component<IProps, IState> {
118116 }
119117 }
120118
121- const disambiguate = member ?. disambiguate || mxEvent . sender ?. disambiguate ;
122- const displayName = member ?. rawDisplayName || mxEvent . getSender ( ) || "" ;
123- const mxid = member ?. userId || mxEvent . getSender ( ) || "" ;
124-
125119 return < RoomContext . Consumer >
126120 { roomContext => {
127121 if ( msgtype === MsgType . Emote &&
@@ -130,17 +124,6 @@ export default class SenderProfile extends React.Component<IProps, IState> {
130124 return null ; // emote message must include the name so don't duplicate it
131125 }
132126
133- let mxidElement ;
134- if ( disambiguate ) {
135- mxidElement = (
136- < span className = "mx_SenderProfile_mxid" >
137- { UserIdentifier . getDisplayUserIdentifier (
138- mxid , { withDisplayName : true , roomId : mxEvent . getRoomId ( ) } ,
139- ) }
140- </ span >
141- ) ;
142- }
143-
144127 let flair ;
145128 if ( this . props . enableFlair ) {
146129 const displayedGroups = this . getDisplayedGroups (
@@ -151,13 +134,14 @@ export default class SenderProfile extends React.Component<IProps, IState> {
151134 }
152135
153136 return (
154- < div className = "mx_SenderProfile" dir = "auto" onClick = { this . props . onClick } >
155- < span className = { `mx_SenderProfile_displayName ${ colorClass } ` } >
156- { displayName }
157- </ span >
158- { mxidElement }
159- { flair }
160- </ div >
137+ < DisambiguatedProfile
138+ fallbackName = { mxEvent . getSender ( ) || "" }
139+ flair = { flair }
140+ onClick = { onClick }
141+ member = { member }
142+ colored = { true }
143+ emphasizeDisplayName = { true }
144+ />
161145 ) ;
162146 } }
163147 </ RoomContext . Consumer > ;
0 commit comments