Format mxid

pull/21833/head
Šimon Brandner 2021-04-18 15:40:56 +02:00
parent ac00c80efb
commit 61a260cd40
No known key found for this signature in database
GPG Key ID: 9760693FDD98A790
2 changed files with 45 additions and 10 deletions

View File

@ -15,6 +15,18 @@ limitations under the License.
*/ */
.mx_SenderProfile_name { .mx_SenderProfile_name {
display: flex;
align-items: center;
gap: 5px;
}
.mx_SenderProfile_displayName {
font-weight: 600; font-weight: 600;
} }
.mx_SenderProfile_mxid {
font-weight: 600;
font-family: monospace;
font-size: 1rem;
color: gray;
}

View File

@ -89,7 +89,21 @@ export default class SenderProfile extends React.Component {
render() { render() {
const {mxEvent} = this.props; const {mxEvent} = this.props;
const colorClass = getUserNameColorClass(mxEvent.getSender()); const colorClass = getUserNameColorClass(mxEvent.getSender());
const name = mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender();
let disambiguate;
let displayName;
let mxid;
const sender = mxEvent.sender;
if (sender) {
disambiguate = sender.disambiguate;
displayName = sender.rawDisplayName;
mxid = sender.userId;
} else {
disambiguate = false;
displayName = mxEvent.getSender();
mxid = mxEvent.getSender();
}
const {msgtype} = mxEvent.getContent(); const {msgtype} = mxEvent.getContent();
if (msgtype === 'm.emote') { if (msgtype === 'm.emote') {
@ -108,20 +122,29 @@ export default class SenderProfile extends React.Component {
/>; />;
} }
const nameElem = name || ''; const displayNameElement = (
<span className={`mx_SenderProfile_displayName ${colorClass}`}>
// Name + flair { displayName || '' }
const nameFlair = <span>
<span className={`mx_SenderProfile_name ${colorClass}`}>
{ nameElem }
</span> </span>
{ flair } );
</span>;
let mxidElement;
if (disambiguate) {
mxidElement = (
<span className="mx_SenderProfile_mxid">
{ `[${mxid || ""}]` }
</span>
);
}
return ( return (
<div className="mx_SenderProfile" dir="auto" onClick={this.props.onClick}> <div className="mx_SenderProfile" dir="auto" onClick={this.props.onClick}>
<div className="mx_SenderProfile_hover"> <div className="mx_SenderProfile_hover">
{ nameFlair } <div className="mx_SenderProfile_name">
{ displayNameElement }
{ mxidElement }
{ flair }
</div>
</div> </div>
</div> </div>
); );