mirror of
https://github.com/mastodon/mastodon.git
synced 2024-11-15 03:15:32 +00:00
Refactor reply indicator and show compact list of attachments
This commit is contained in:
parent
e3bf8c8aa1
commit
d3783b864c
|
@ -78,6 +78,7 @@ function mapStateToProps (state) {
|
|||
preselectDate: state.getIn(['compose', 'preselectDate']),
|
||||
privacy: state.getIn(['compose', 'privacy']),
|
||||
progress: state.getIn(['compose', 'progress']),
|
||||
inReplyTo: inReplyTo ? state.getIn(['statuses', inReplyTo]) : null,
|
||||
replyAccount: inReplyTo ? state.getIn(['statuses', inReplyTo, 'account']) : null,
|
||||
replyContent: inReplyTo ? state.getIn(['statuses', inReplyTo, 'contentHtml']) : null,
|
||||
resetFileKey: state.getIn(['compose', 'resetFileKey']),
|
||||
|
@ -302,8 +303,7 @@ class Composer extends React.Component {
|
|||
onUpload,
|
||||
privacy,
|
||||
progress,
|
||||
replyAccount,
|
||||
replyContent,
|
||||
inReplyTo,
|
||||
resetFileKey,
|
||||
sensitive,
|
||||
showSearch,
|
||||
|
@ -328,10 +328,9 @@ class Composer extends React.Component {
|
|||
{privacy === 'direct' ? <ComposerDirectWarning /> : null}
|
||||
{privacy === 'private' && amUnlocked ? <ComposerWarning /> : null}
|
||||
{privacy !== 'public' && APPROX_HASHTAG_RE.test(text) ? <ComposerHashtagWarning /> : null}
|
||||
{replyAccount && (
|
||||
{inReplyTo && (
|
||||
<ComposerReply
|
||||
account={replyAccount}
|
||||
content={replyContent}
|
||||
status={inReplyTo}
|
||||
intl={intl}
|
||||
onCancel={onCancelReply}
|
||||
/>
|
||||
|
@ -417,8 +416,7 @@ Composer.propTypes = {
|
|||
preselectDate: PropTypes.instanceOf(Date),
|
||||
privacy: PropTypes.string,
|
||||
progress: PropTypes.number,
|
||||
replyAccount: PropTypes.string,
|
||||
replyContent: PropTypes.string,
|
||||
inReplyTo: ImmutablePropTypes.map,
|
||||
resetFileKey: PropTypes.number,
|
||||
sideArm: PropTypes.string,
|
||||
sensitive: PropTypes.bool,
|
||||
|
|
|
@ -6,6 +6,7 @@ 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';
|
||||
|
@ -44,11 +45,14 @@ export default class ComposerReply extends React.PureComponent {
|
|||
render () {
|
||||
const { handleClick } = this.handlers;
|
||||
const {
|
||||
account,
|
||||
content,
|
||||
status,
|
||||
intl,
|
||||
} = this.props;
|
||||
|
||||
const account = status.get('account');
|
||||
const content = status.get('content');
|
||||
const attachments = status.get('media_attachments');
|
||||
|
||||
// The result.
|
||||
return (
|
||||
<article className='composer--reply'>
|
||||
|
@ -60,18 +64,24 @@ export default class ComposerReply extends React.PureComponent {
|
|||
title={intl.formatMessage(messages.cancel)}
|
||||
inverted
|
||||
/>
|
||||
{account ? (
|
||||
{account && (
|
||||
<AccountContainer
|
||||
id={account}
|
||||
small
|
||||
/>
|
||||
) : null}
|
||||
)}
|
||||
</header>
|
||||
<div
|
||||
className='content'
|
||||
dangerouslySetInnerHTML={{ __html: content || '' }}
|
||||
style={{ direction: isRtl(content) ? 'rtl' : 'ltr' }}
|
||||
/>
|
||||
{attachments.size > 0 && (
|
||||
<AttachmentList
|
||||
compact
|
||||
media={attachments}
|
||||
/>
|
||||
)}
|
||||
</article>
|
||||
);
|
||||
}
|
||||
|
@ -79,8 +89,7 @@ export default class ComposerReply extends React.PureComponent {
|
|||
}
|
||||
|
||||
ComposerReply.propTypes = {
|
||||
account: PropTypes.string,
|
||||
content: PropTypes.string,
|
||||
status: PropTypes.map.isRequired,
|
||||
intl: PropTypes.object.isRequired,
|
||||
onCancel: PropTypes.func,
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue