[Glitch] Change share action from being in action bar to being in dropdown in web UI
Port 1caa5ff39e to glitch-soc
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
			
			
This commit is contained in:
		
							parent
							
								
									7bec63e6e2
								
							
						
					
					
						commit
						e7dc375aab
					
				| 
						 | 
					@ -103,7 +103,6 @@ class StatusActionBar extends ImmutablePureComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  handleShareClick = () => {
 | 
					  handleShareClick = () => {
 | 
				
			||||||
    navigator.share({
 | 
					    navigator.share({
 | 
				
			||||||
      text: this.props.status.get('search_index'),
 | 
					 | 
				
			||||||
      url: this.props.status.get('url'),
 | 
					      url: this.props.status.get('url'),
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
| 
						 | 
					@ -222,6 +221,10 @@ class StatusActionBar extends ImmutablePureComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy });
 | 
					    menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (publicStatus && 'share' in navigator) {
 | 
				
			||||||
 | 
					      menu.push({ text: intl.formatMessage(messages.share), action: this.handleShareClick });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (publicStatus) {
 | 
					    if (publicStatus) {
 | 
				
			||||||
      menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
 | 
					      menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -281,10 +284,6 @@ class StatusActionBar extends ImmutablePureComponent {
 | 
				
			||||||
      replyTitle = intl.formatMessage(messages.replyAll);
 | 
					      replyTitle = intl.formatMessage(messages.replyAll);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const shareButton = ('share' in navigator) && publicStatus && (
 | 
					 | 
				
			||||||
      <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShareClick} />
 | 
					 | 
				
			||||||
    );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const reblogPrivate = status.getIn(['account', 'id']) === me && status.get('visibility') === 'private';
 | 
					    const reblogPrivate = status.getIn(['account', 'id']) === me && status.get('visibility') === 'private';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let reblogTitle = '';
 | 
					    let reblogTitle = '';
 | 
				
			||||||
| 
						 | 
					@ -314,7 +313,6 @@ class StatusActionBar extends ImmutablePureComponent {
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
        <IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon={reblogIcon} onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} />
 | 
					        <IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon={reblogIcon} onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} />
 | 
				
			||||||
        <IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} />
 | 
					        <IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} />
 | 
				
			||||||
        {shareButton}
 | 
					 | 
				
			||||||
        <IconButton className='status__action-bar-button bookmark-icon' disabled={anonymousAccess} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} />
 | 
					        <IconButton className='status__action-bar-button bookmark-icon' disabled={anonymousAccess} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        {filterButton}
 | 
					        {filterButton}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -152,7 +152,6 @@ class Header extends ImmutablePureComponent {
 | 
				
			||||||
    const { account } = this.props;
 | 
					    const { account } = this.props;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    navigator.share({
 | 
					    navigator.share({
 | 
				
			||||||
      text: `${titleFromAccount(account)}\n${account.get('note_plain')}`,
 | 
					 | 
				
			||||||
      url: account.get('url'),
 | 
					      url: account.get('url'),
 | 
				
			||||||
    }).catch((e) => {
 | 
					    }).catch((e) => {
 | 
				
			||||||
      if (e.name !== 'AbortError') console.error(e);
 | 
					      if (e.name !== 'AbortError') console.error(e);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -128,7 +128,6 @@ class ActionBar extends PureComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  handleShare = () => {
 | 
					  handleShare = () => {
 | 
				
			||||||
    navigator.share({
 | 
					    navigator.share({
 | 
				
			||||||
      text: this.props.status.get('search_index'),
 | 
					 | 
				
			||||||
      url: this.props.status.get('url'),
 | 
					      url: this.props.status.get('url'),
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
| 
						 | 
					@ -160,6 +159,11 @@ class ActionBar extends PureComponent {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy });
 | 
					      menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if ('share' in navigator) {
 | 
				
			||||||
 | 
					        menu.push({ text: intl.formatMessage(messages.share), action: this.handleShare });
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
 | 
					      menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
 | 
				
			||||||
      menu.push(null);
 | 
					      menu.push(null);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -199,10 +203,6 @@ class ActionBar extends PureComponent {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const shareButton = ('share' in navigator) && publicStatus && (
 | 
					 | 
				
			||||||
      <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShare} /></div>
 | 
					 | 
				
			||||||
    );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const reblogPrivate = status.getIn(['account', 'id']) === me && status.get('visibility') === 'private';
 | 
					    const reblogPrivate = status.getIn(['account', 'id']) === me && status.get('visibility') === 'private';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let reblogTitle;
 | 
					    let reblogTitle;
 | 
				
			||||||
| 
						 | 
					@ -221,7 +221,6 @@ class ActionBar extends PureComponent {
 | 
				
			||||||
        <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>
 | 
					        <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>
 | 
				
			||||||
        <div className='detailed-status__button'><IconButton className={classNames({ reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} /></div>
 | 
					        <div className='detailed-status__button'><IconButton className={classNames({ reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} /></div>
 | 
				
			||||||
        <div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>
 | 
					        <div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>
 | 
				
			||||||
        {shareButton}
 | 
					 | 
				
			||||||
        <div className='detailed-status__button'><IconButton className='bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /></div>
 | 
					        <div className='detailed-status__button'><IconButton className='bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /></div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div className='detailed-status__action-bar-dropdown'>
 | 
					        <div className='detailed-status__action-bar-dropdown'>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue