[Glitch] Change buttons on timeline preview to open the interaction dialog
Port 6534acc019 to glitch-soc
			
			
This commit is contained in:
		
							parent
							
								
									9b89a7b2f2
								
							
						
					
					
						commit
						09c6d1c534
					
				
					 1 changed files with 22 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -83,7 +83,11 @@ export default class StatusActionBar extends ImmutablePureComponent {
 | 
			
		|||
  ]
 | 
			
		||||
 | 
			
		||||
  handleReplyClick = () => {
 | 
			
		||||
    this.props.onReply(this.props.status, this.context.router.history);
 | 
			
		||||
    if (me) {
 | 
			
		||||
      this.props.onReply(this.props.status, this.context.router.history);
 | 
			
		||||
    } else {
 | 
			
		||||
      this._openInteractionDialog('reply');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleShareClick = () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -94,17 +98,29 @@ export default class StatusActionBar extends ImmutablePureComponent {
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  handleFavouriteClick = (e) => {
 | 
			
		||||
    this.props.onFavourite(this.props.status, e);
 | 
			
		||||
    if (me) {
 | 
			
		||||
      this.props.onFavourite(this.props.status, e);
 | 
			
		||||
    } else {
 | 
			
		||||
      this._openInteractionDialog('favourite');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleBookmarkClick = (e) => {
 | 
			
		||||
    this.props.onBookmark(this.props.status, e);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleReblogClick = (e) => {
 | 
			
		||||
    this.props.onReblog(this.props.status, e);
 | 
			
		||||
  handleReblogClick = e => {
 | 
			
		||||
    if (me) {
 | 
			
		||||
      this.props.onReblog(this.props.status, e);
 | 
			
		||||
    } else {
 | 
			
		||||
      this._openInteractionDialog('reblog');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  _openInteractionDialog = type => {
 | 
			
		||||
    window.open(`/interact/${this.props.status.get('id')}?type=${type}`, 'mastodon-intent', 'width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes');
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
  handleDeleteClick = () => {
 | 
			
		||||
    this.props.onDelete(this.props.status, this.context.router.history);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -174,7 +190,7 @@ export default class StatusActionBar extends ImmutablePureComponent {
 | 
			
		|||
    const mutingConversation = status.get('muted');
 | 
			
		||||
    const anonymousAccess    = !me;
 | 
			
		||||
    const publicStatus       = ['public', 'unlisted'].includes(status.get('visibility'));
 | 
			
		||||
    const reblogDisabled     = anonymousAccess || (status.get('visibility') === 'direct' || (status.get('visibility') === 'private' && me !== status.getIn(['account', 'id'])));
 | 
			
		||||
    const reblogDisabled     = status.get('visibility') === 'direct' || (status.get('visibility') === 'private' && me !== status.getIn(['account', 'id']));
 | 
			
		||||
    const reblogMessage      = status.get('visibility') === 'private' ? messages.reblog_private : messages.reblog;
 | 
			
		||||
 | 
			
		||||
    let menu = [];
 | 
			
		||||
| 
						 | 
				
			
			@ -243,7 +259,6 @@ export default class StatusActionBar extends ImmutablePureComponent {
 | 
			
		|||
    let replyButton = (
 | 
			
		||||
      <IconButton
 | 
			
		||||
        className='status__action-bar-button'
 | 
			
		||||
        disabled={anonymousAccess}
 | 
			
		||||
        title={replyTitle}
 | 
			
		||||
        icon={replyIcon}
 | 
			
		||||
        onClick={this.handleReplyClick}
 | 
			
		||||
| 
						 | 
				
			
			@ -262,7 +277,7 @@ export default class StatusActionBar extends ImmutablePureComponent {
 | 
			
		|||
      <div className='status__action-bar'>
 | 
			
		||||
        {replyButton}
 | 
			
		||||
        <IconButton className='status__action-bar-button' disabled={reblogDisabled} active={status.get('reblogged')} pressed={status.get('reblogged')} title={reblogDisabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(reblogMessage)} icon={reblogIcon} onClick={this.handleReblogClick} />
 | 
			
		||||
        <IconButton className='status__action-bar-button star-icon' disabled={anonymousAccess} animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} />
 | 
			
		||||
        <IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} />
 | 
			
		||||
        {shareButton}
 | 
			
		||||
        <IconButton className='status__action-bar-button bookmark-icon' disabled={anonymousAccess} active={status.get('bookmarked')} pressed={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} />
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue