// Package imports. import PropTypes from 'prop-types'; import React from 'react'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { defineMessages } from 'react-intl'; // Components. import AccountContainer from 'flavours/glitch/containers/account_container'; import IconButton from 'flavours/glitch/components/icon_button'; import AttachmentList from 'flavours/glitch/components/attachment_list'; // Utils. import { assignHandlers } from 'flavours/glitch/util/react_helpers'; import { isRtl } from 'flavours/glitch/util/rtl'; // Messages. const messages = defineMessages({ cancel: { defaultMessage: 'Cancel', id: 'reply_indicator.cancel', }, }); // Handlers. const handlers = { // Handles a click on the "close" button. handleClick () { const { onCancel } = this.props; if (onCancel) { onCancel(); } }, }; // The component. export default class ComposerReply extends React.PureComponent { // Constructor. constructor (props) { super(props); assignHandlers(this, handlers); } // Rendering. render () { const { handleClick } = this.handlers; const { status, intl, } = this.props; const account = status.get('account'); const content = status.get('content'); const attachments = status.get('media_attachments'); // The result. return (
{account && ( )}
{attachments.size > 0 && ( )}
); } } ComposerReply.propTypes = { status: ImmutablePropTypes.map.isRequired, intl: PropTypes.object.isRequired, onCancel: PropTypes.func, };