Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Format mxid
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonBrandner committed Apr 18, 2021
1 parent ac00c80 commit 61a260c
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 10 deletions.
12 changes: 12 additions & 0 deletions res/css/views/messages/_SenderProfile.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,18 @@ limitations under the License.
*/

.mx_SenderProfile_name {
display: flex;
align-items: center;
gap: 5px;
}

.mx_SenderProfile_displayName {
font-weight: 600;
}

.mx_SenderProfile_mxid {
font-weight: 600;
font-family: monospace;
font-size: 1rem;
color: gray;
}
43 changes: 33 additions & 10 deletions src/components/views/messages/SenderProfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,21 @@ export default class SenderProfile extends React.Component {
render() {
const {mxEvent} = this.props;
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();

if (msgtype === 'm.emote') {
Expand All @@ -108,20 +122,29 @@ export default class SenderProfile extends React.Component {
/>;
}

const nameElem = name || '';

// Name + flair
const nameFlair = <span>
<span className={`mx_SenderProfile_name ${colorClass}`}>
{ nameElem }
const displayNameElement = (
<span className={`mx_SenderProfile_displayName ${colorClass}`}>
{ displayName || '' }
</span>
{ flair }
</span>;
);

let mxidElement;
if (disambiguate) {
mxidElement = (
<span className="mx_SenderProfile_mxid">
{ `[${mxid || ""}]` }
</span>
);
}

return (
<div className="mx_SenderProfile" dir="auto" onClick={this.props.onClick}>
<div className="mx_SenderProfile_hover">
{ nameFlair }
<div className="mx_SenderProfile_name">
{ displayNameElement }
{ mxidElement }
{ flair }
</div>
</div>
</div>
);
Expand Down

0 comments on commit 61a260c

Please sign in to comment.