import React from 'react'; import { FormattedMessage, injectIntl } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { Link } from 'react-router-dom'; import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper'; export default @injectIntl class StatusReplyMentions extends ImmutablePureComponent { static propTypes = { status: ImmutablePropTypes.map.isRequired, } render() { const { status } = this.props; if (!status.get('in_reply_to_id')) { return null; } const to = status.get('mentions', []); // The post is a reply, but it has no mentions. if (to.size === 0) { // The author is replying to themself. if (status.get('in_reply_to_account_id') === status.getIn(['account', 'id'])) { return (
@{status.getIn(['account', 'username'])} ), more: false, }} />
); } else { // The reply-to is unknown. Rare, but it can happen. return (
); } } // The typical case with a reply-to and a list of mentions. return (
(<> @{account.get('username')} {' '} )), more: to.size > 2 && ( ), }} />
); } }