import PropTypes from 'prop-types'; import React from 'react'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { connect } from 'react-redux'; import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper'; import { displayFqn } from 'soapbox/utils/state'; import { getAcct } from '../utils/accounts'; import Icon from './icon'; import RelativeTimestamp from './relative_timestamp'; import VerificationBadge from './verification_badge'; const mapStateToProps = state => { return { displayFqn: displayFqn(state), }; }; export default @connect(mapStateToProps) class DisplayName extends React.PureComponent { static propTypes = { account: ImmutablePropTypes.record.isRequired, displayFqn: PropTypes.bool, others: ImmutablePropTypes.list, children: PropTypes.node, withDate: PropTypes.bool, }; static defaultProps = { withDate: false, } render() { const { account, displayFqn, others, children, withDate } = this.props; let displayName, suffix; const verified = account.get('verified'); const createdAt = account.get('created_at'); const joinedAt = createdAt ? (