th: glitch: fix up quote indicator
This commit is contained in:
		
							parent
							
								
									0c66e23bbe
								
							
						
					
					
						commit
						24564bf574
					
				
					 4 changed files with 28 additions and 1 deletions
				
			
		| 
						 | 
					@ -69,6 +69,7 @@ class Status extends ImmutablePureComponent {
 | 
				
			||||||
    status: ImmutablePropTypes.map,
 | 
					    status: ImmutablePropTypes.map,
 | 
				
			||||||
    account: ImmutablePropTypes.map,
 | 
					    account: ImmutablePropTypes.map,
 | 
				
			||||||
    onReply: PropTypes.func,
 | 
					    onReply: PropTypes.func,
 | 
				
			||||||
 | 
					    onQuote: PropTypes.func,
 | 
				
			||||||
    onFavourite: PropTypes.func,
 | 
					    onFavourite: PropTypes.func,
 | 
				
			||||||
    onReblog: PropTypes.func,
 | 
					    onReblog: PropTypes.func,
 | 
				
			||||||
    onBookmark: PropTypes.func,
 | 
					    onBookmark: PropTypes.func,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,7 @@ import { List as ImmutableList } from 'immutable';
 | 
				
			||||||
import { makeGetStatus } from 'flavours/glitch/selectors';
 | 
					import { makeGetStatus } from 'flavours/glitch/selectors';
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
  replyCompose,
 | 
					  replyCompose,
 | 
				
			||||||
 | 
					  quoteCompose,
 | 
				
			||||||
  mentionCompose,
 | 
					  mentionCompose,
 | 
				
			||||||
  directCompose,
 | 
					  directCompose,
 | 
				
			||||||
} from 'flavours/glitch/actions/compose';
 | 
					} from 'flavours/glitch/actions/compose';
 | 
				
			||||||
| 
						 | 
					@ -50,6 +51,8 @@ const messages = defineMessages({
 | 
				
			||||||
  redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.' },
 | 
					  redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.' },
 | 
				
			||||||
  replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
 | 
					  replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
 | 
				
			||||||
  replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
 | 
					  replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
 | 
				
			||||||
 | 
					  quoteConfirm: { id: 'confirmations.quote.confirm', defaultMessage: 'Quote' },
 | 
				
			||||||
 | 
					  quoteMessage: { id: 'confirmations.quote.message', defaultMessage: 'Quoting now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
 | 
				
			||||||
  unfilterConfirm: { id: 'confirmations.unfilter.confirm', defaultMessage: 'Show' },
 | 
					  unfilterConfirm: { id: 'confirmations.unfilter.confirm', defaultMessage: 'Show' },
 | 
				
			||||||
  author: { id: 'confirmations.unfilter.author', defaultMessage: 'Author' },
 | 
					  author: { id: 'confirmations.unfilter.author', defaultMessage: 'Author' },
 | 
				
			||||||
  matchingFilters: { id: 'confirmations.unfilter.filters', defaultMessage: 'Matching {count, plural, one {filter} other {filters}}' },
 | 
					  matchingFilters: { id: 'confirmations.unfilter.filters', defaultMessage: 'Matching {count, plural, one {filter} other {filters}}' },
 | 
				
			||||||
| 
						 | 
					@ -111,6 +114,23 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  onQuote (status, router) {
 | 
				
			||||||
 | 
					    dispatch((_, getState) => {
 | 
				
			||||||
 | 
					      let state = getState();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (state.getIn(['local_settings', 'confirm_before_clearing_draft']) && state.getIn(['compose', 'text']).trim().length !== 0) {
 | 
				
			||||||
 | 
					        dispatch(openModal('CONFIRM', {
 | 
				
			||||||
 | 
					          message: intl.formatMessage(messages.quoteMessage),
 | 
				
			||||||
 | 
					          confirm: intl.formatMessage(messages.quoteConfirm),
 | 
				
			||||||
 | 
					          onDoNotAsk: () => dispatch(changeLocalSetting(['confirm_before_clearing_draft'], false)),
 | 
				
			||||||
 | 
					          onConfirm: () => dispatch(quoteCompose(status, router)),
 | 
				
			||||||
 | 
					        }));
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        dispatch(quoteCompose(status, router));
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  onModalReblog (status, privacy) {
 | 
					  onModalReblog (status, privacy) {
 | 
				
			||||||
    if (status.get('reblogged')) {
 | 
					    if (status.get('reblogged')) {
 | 
				
			||||||
      dispatch(unreblog(status));
 | 
					      dispatch(unreblog(status));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@ import React from 'react';
 | 
				
			||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
					import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import PropTypes from 'prop-types';
 | 
					import PropTypes from 'prop-types';
 | 
				
			||||||
import ReplyIndicatorContainer from '../containers/reply_indicator_container';
 | 
					import ReplyIndicatorContainer from '../containers/reply_indicator_container';
 | 
				
			||||||
 | 
					import QuoteIndicatorContainer from '../containers/quote_indicator_container';
 | 
				
			||||||
import AutosuggestTextarea from '../../../components/autosuggest_textarea';
 | 
					import AutosuggestTextarea from '../../../components/autosuggest_textarea';
 | 
				
			||||||
import AutosuggestInput from '../../../components/autosuggest_input';
 | 
					import AutosuggestInput from '../../../components/autosuggest_input';
 | 
				
			||||||
import { defineMessages, injectIntl } from 'react-intl';
 | 
					import { defineMessages, injectIntl } from 'react-intl';
 | 
				
			||||||
| 
						 | 
					@ -309,6 +310,7 @@ class ComposeForm extends ImmutablePureComponent {
 | 
				
			||||||
        <WarningContainer />
 | 
					        <WarningContainer />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <ReplyIndicatorContainer />
 | 
					        <ReplyIndicatorContainer />
 | 
				
			||||||
 | 
					        <QuoteIndicatorContainer />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div className={`spoiler-input ${spoiler ? 'spoiler-input--visible' : ''}`} ref={this.setRef}>
 | 
					        <div className={`spoiler-input ${spoiler ? 'spoiler-input--visible' : ''}`} ref={this.setRef}>
 | 
				
			||||||
          <AutosuggestInput
 | 
					          <AutosuggestInput
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  Components.
 | 
					//  Components.
 | 
				
			||||||
import AccountContainer from 'flavours/glitch/containers/account_container';
 | 
					import AccountContainer from 'flavours/glitch/containers/account_container';
 | 
				
			||||||
 | 
					import Icon from 'flavours/glitch/components/icon';
 | 
				
			||||||
import IconButton from 'flavours/glitch/components/icon_button';
 | 
					import IconButton from 'flavours/glitch/components/icon_button';
 | 
				
			||||||
import AttachmentList from 'flavours/glitch/components/attachment_list';
 | 
					import AttachmentList from 'flavours/glitch/components/attachment_list';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,6 +59,9 @@ class QuoteIndicator extends ImmutablePureComponent {
 | 
				
			||||||
            title={intl.formatMessage(messages.cancel)}
 | 
					            title={intl.formatMessage(messages.cancel)}
 | 
				
			||||||
            inverted
 | 
					            inverted
 | 
				
			||||||
          />
 | 
					          />
 | 
				
			||||||
 | 
					          <Icon
 | 
				
			||||||
 | 
					            className='quote-indicator__cancel inverted'
 | 
				
			||||||
 | 
					            id='quote-right' />
 | 
				
			||||||
          {account && (
 | 
					          {account && (
 | 
				
			||||||
            <AccountContainer
 | 
					            <AccountContainer
 | 
				
			||||||
              id={account}
 | 
					              id={account}
 | 
				
			||||||
| 
						 | 
					@ -66,7 +70,7 @@ class QuoteIndicator extends ImmutablePureComponent {
 | 
				
			||||||
          )}
 | 
					          )}
 | 
				
			||||||
        </header>
 | 
					        </header>
 | 
				
			||||||
        <div
 | 
					        <div
 | 
				
			||||||
          className='reply-indicator__content translate'
 | 
					          className='quote-indicator__content icon-button translate'
 | 
				
			||||||
          dangerouslySetInnerHTML={{ __html: content || '' }}
 | 
					          dangerouslySetInnerHTML={{ __html: content || '' }}
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
        {attachments.size > 0 && (
 | 
					        {attachments.size > 0 && (
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue