Slightly reorder three dots menu on toots to make it more intuitive (#15647)
* Slightly reorder three dots menu on toots to make it more intuitive - Make “Pin to profile” always appear at the same place - Add separator to group “Bookmark” and “Pin to profile” - Fix separator being the first item in some cases * Fix missing semicolon and keep status_action_bar.js and action_bar.js in sync
This commit is contained in:
		
					parent
					
						
							
								07b46cb332
							
						
					
				
			
			
				commit
				
					
						f5fefdc11a
					
				
			
		
					 2 changed files with 16 additions and 11 deletions
				
			
		|  | @ -223,10 +223,11 @@ class StatusActionBar extends ImmutablePureComponent { | ||||||
|   render () { |   render () { | ||||||
|     const { status, relationship, intl, withDismiss, scrollKey } = this.props; |     const { status, relationship, intl, withDismiss, scrollKey } = this.props; | ||||||
| 
 | 
 | ||||||
|     const mutingConversation = status.get('muted'); |  | ||||||
|     const anonymousAccess    = !me; |     const anonymousAccess    = !me; | ||||||
|     const publicStatus       = ['public', 'unlisted'].includes(status.get('visibility')); |     const publicStatus       = ['public', 'unlisted'].includes(status.get('visibility')); | ||||||
|  |     const mutingConversation = status.get('muted'); | ||||||
|     const account            = status.get('account'); |     const account            = status.get('account'); | ||||||
|  |     const writtenByMe        = status.getIn(['account', 'id']) === me; | ||||||
| 
 | 
 | ||||||
|     let menu = []; |     let menu = []; | ||||||
| 
 | 
 | ||||||
|  | @ -237,19 +238,22 @@ class StatusActionBar extends ImmutablePureComponent { | ||||||
|       menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); |       menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     menu.push({ text: intl.formatMessage(status.get('bookmarked') ? messages.removeBookmark : messages.bookmark), action: this.handleBookmarkClick }); |  | ||||||
|     menu.push(null); |     menu.push(null); | ||||||
| 
 | 
 | ||||||
|     if (status.getIn(['account', 'id']) === me || withDismiss) { |     menu.push({ text: intl.formatMessage(status.get('bookmarked') ? messages.removeBookmark : messages.bookmark), action: this.handleBookmarkClick }); | ||||||
|  | 
 | ||||||
|  |     if (writtenByMe && publicStatus) { | ||||||
|  |       menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick }); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     menu.push(null); | ||||||
|  | 
 | ||||||
|  |     if (writtenByMe || withDismiss) { | ||||||
|       menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick }); |       menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick }); | ||||||
|       menu.push(null); |       menu.push(null); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (status.getIn(['account', 'id']) === me) { |     if (writtenByMe) { | ||||||
|       if (publicStatus) { |  | ||||||
|         menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick }); |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick }); |       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick }); | ||||||
|       menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick }); |       menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick }); | ||||||
|     } else { |     } else { | ||||||
|  |  | ||||||
|  | @ -187,9 +187,10 @@ class ActionBar extends React.PureComponent { | ||||||
|   render () { |   render () { | ||||||
|     const { status, relationship, intl } = this.props; |     const { status, relationship, intl } = this.props; | ||||||
| 
 | 
 | ||||||
|     const publicStatus = ['public', 'unlisted'].includes(status.get('visibility')); |     const publicStatus       = ['public', 'unlisted'].includes(status.get('visibility')); | ||||||
|     const mutingConversation = status.get('muted'); |     const mutingConversation = status.get('muted'); | ||||||
|     const account            = status.get('account'); |     const account            = status.get('account'); | ||||||
|  |     const writtenByMe        = status.getIn(['account', 'id']) === me; | ||||||
| 
 | 
 | ||||||
|     let menu = []; |     let menu = []; | ||||||
| 
 | 
 | ||||||
|  | @ -199,12 +200,12 @@ class ActionBar extends React.PureComponent { | ||||||
|       menu.push(null); |       menu.push(null); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (me === status.getIn(['account', 'id'])) { |     if (writtenByMe) { | ||||||
|       if (publicStatus) { |       if (publicStatus) { | ||||||
|         menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick }); |         menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick }); | ||||||
|  |         menu.push(null); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       menu.push(null); |  | ||||||
|       menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick }); |       menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick }); | ||||||
|       menu.push(null); |       menu.push(null); | ||||||
|       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick }); |       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick }); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue