Support emojis in display name, bio

This commit is contained in:
Eugen Rochko
2016-11-15 18:38:57 +01:00
parent 4f07fb1f0a
commit 489bd99803
5 changed files with 33 additions and 17 deletions

View File

@@ -1,5 +1,7 @@
import ImmutablePropTypes from 'react-immutable-proptypes';
import PureRenderMixin from 'react-addons-pure-render-mixin';
import escapeTextContentForBrowser from 'react/lib/escapeTextContentForBrowser';
import emojify from '../emoji';
const DisplayName = React.createClass({
@@ -10,15 +12,12 @@ const DisplayName = React.createClass({
mixins: [PureRenderMixin],
render () {
let displayName = this.props.account.get('display_name');
if (displayName.length === 0) {
displayName = this.props.account.get('username');
}
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 style={{ display: 'block', maxWidth: '100%', overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' }}>
<strong style={{ fontWeight: 'bold' }}>{displayName}</strong> <span style={{ fontSize: '14px' }}>@{this.props.account.get('acct')}</span>
<span style={{ display: 'block', maxWidth: '100%', overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' }} className='display-name'>
<strong style={{ fontWeight: '500' }} dangerouslySetInnerHTML={displayNameHTML} /> <span style={{ fontSize: '14px' }}>@{this.props.account.get('acct')}</span>
</span>
);
}