You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
845 B
25 lines
845 B
import React from 'react'; |
|
import ImmutablePropTypes from 'react-immutable-proptypes'; |
|
import escapeTextContentForBrowser from 'escape-html'; |
|
import emojify from '../emoji'; |
|
|
|
class DisplayName extends React.PureComponent { |
|
|
|
render () { |
|
const displayName = this.props.account.get('display_name').length === 0 ? this.props.account.get('username') : this.props.account.get('display_name'); |
|
const displayNameHTML = { __html: emojify(escapeTextContentForBrowser(displayName)) }; |
|
|
|
return ( |
|
<span className='display-name'> |
|
<strong className='display-name__html' dangerouslySetInnerHTML={displayNameHTML} /> <span className='display-name__account'>@{this.props.account.get('acct')}</span> |
|
</span> |
|
); |
|
} |
|
|
|
}; |
|
|
|
DisplayName.propTypes = { |
|
account: ImmutablePropTypes.map.isRequired |
|
} |
|
|
|
export default DisplayName;
|
|
|