import PropTypes from 'prop-types'; import { defineMessages, injectIntl } from 'react-intl'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; import CloseIcon from '@material-symbols/svg-600/outlined/close.svg?react'; import AttachmentList from 'mastodon/components/attachment_list'; import { WithOptionalRouterPropTypes, withOptionalRouter } from 'mastodon/utils/react_router'; import { Avatar } from '../../../components/avatar'; import { DisplayName } from '../../../components/display_name'; import { IconButton } from '../../../components/icon_button'; const messages = defineMessages({ cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' }, }); class ReplyIndicator extends ImmutablePureComponent { static propTypes = { status: ImmutablePropTypes.map, onCancel: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, ...WithOptionalRouterPropTypes, }; handleClick = () => { this.props.onCancel(); }; handleAccountClick = (e) => { if (e.button === 0 && !(e.ctrlKey || e.metaKey)) { e.preventDefault(); this.props.history?.push(`/@${this.props.status.getIn(['account', 'acct'])}`); } }; render () { const { status, intl } = this.props; if (!status) { return null; } const content = { __html: status.get('contentHtml') }; return (
{status.get('media_attachments').size > 0 && ( )}
); } } export default withOptionalRouter(injectIntl(ReplyIndicator));