@@ -21,9 +21,10 @@ 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' ;
2425import MatrixClientContext from "../../../contexts/MatrixClientContext" ;
2526import { replaceableComponent } from "../../../utils/replaceableComponent" ;
26- import DisambiguatedProfile from "./DisambiguatedProfile" ;
27+ import UserIdentifier from '../../../customisations/UserIdentifier' ;
2728import RoomContext , { TimelineRenderingType } from '../../../contexts/RoomContext' ;
2829import SettingsStore from "../../../settings/SettingsStore" ;
2930import { MatrixClientPeg } from "../../../MatrixClientPeg" ;
@@ -105,8 +106,9 @@ export default class SenderProfile extends React.Component<IProps, IState> {
105106 }
106107
107108 render ( ) {
108- const { mxEvent, onClick } = this . props ;
109- const msgtype = mxEvent . getContent ( ) . msgtype ;
109+ const { mxEvent } = this . props ;
110+ const colorClass = getUserNameColorClass ( mxEvent . getSender ( ) ) ;
111+ const { msgtype } = mxEvent . getContent ( ) ;
110112
111113 let member = mxEvent . sender ;
112114 if ( SettingsStore . getValue ( "feature_use_only_current_profiles" ) ) {
@@ -116,6 +118,10 @@ export default class SenderProfile extends React.Component<IProps, IState> {
116118 }
117119 }
118120
121+ const disambiguate = member ?. disambiguate || mxEvent . sender ?. disambiguate ;
122+ const displayName = member ?. rawDisplayName || mxEvent . getSender ( ) || "" ;
123+ const mxid = member ?. userId || mxEvent . getSender ( ) || "" ;
124+
119125 return < RoomContext . Consumer >
120126 { roomContext => {
121127 if ( msgtype === MsgType . Emote &&
@@ -124,6 +130,17 @@ export default class SenderProfile extends React.Component<IProps, IState> {
124130 return null ; // emote message must include the name so don't duplicate it
125131 }
126132
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+
127144 let flair ;
128145 if ( this . props . enableFlair ) {
129146 const displayedGroups = this . getDisplayedGroups (
@@ -134,14 +151,13 @@ export default class SenderProfile extends React.Component<IProps, IState> {
134151 }
135152
136153 return (
137- < DisambiguatedProfile
138- fallbackName = { mxEvent . getSender ( ) || "" }
139- flair = { flair }
140- onClick = { onClick }
141- member = { member }
142- colored = { true }
143- emphasizeDisplayName = { true }
144- />
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 >
145161 ) ;
146162 } }
147163 </ RoomContext . Consumer > ;
0 commit comments