[Glitch] Fix the hot key (j, k) does not function correctly when there is a pinned toot in account timeline.
Port 23106844a10606dd0e04c8382281d5ff80d4bdd9 to glitch-soc
This commit is contained in:
		
							parent
							
								
									06fc278e4c
								
							
						
					
					
						commit
						003d114332
					
				| @ -253,12 +253,12 @@ export default class Status extends ImmutablePureComponent { | |||||||
|     this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`); |     this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   handleHotkeyMoveUp = () => { |   handleHotkeyMoveUp = e => { | ||||||
|     this.props.onMoveUp(this.props.containerId || this.props.id); |     this.props.onMoveUp(this.props.containerId || this.props.id, e.target.getAttribute('data-featured')); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   handleHotkeyMoveDown = () => { |   handleHotkeyMoveDown = e => { | ||||||
|     this.props.onMoveDown(this.props.containerId || this.props.id); |     this.props.onMoveDown(this.props.containerId || this.props.id, e.target.getAttribute('data-featured')); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   handleRef = c => { |   handleRef = c => { | ||||||
| @ -292,6 +292,7 @@ export default class Status extends ImmutablePureComponent { | |||||||
|       onOpenMedia, |       onOpenMedia, | ||||||
|       notification, |       notification, | ||||||
|       hidden, |       hidden, | ||||||
|  |       featured, | ||||||
|       ...other |       ...other | ||||||
|     } = this.props; |     } = this.props; | ||||||
|     const { isExpanded } = this.state; |     const { isExpanded } = this.state; | ||||||
| @ -426,6 +427,7 @@ export default class Status extends ImmutablePureComponent { | |||||||
|           {...selectorAttribs} |           {...selectorAttribs} | ||||||
|           ref={handleRef} |           ref={handleRef} | ||||||
|           tabIndex='0' |           tabIndex='0' | ||||||
|  |           data-featured={featured ? 'true' : null} | ||||||
|         > |         > | ||||||
|           <header className='status__info'> |           <header className='status__info'> | ||||||
|             <span> |             <span> | ||||||
|  | |||||||
| @ -28,13 +28,25 @@ export default class StatusList extends ImmutablePureComponent { | |||||||
|     trackScroll: true, |     trackScroll: true, | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   handleMoveUp = id => { |   getFeaturedStatusCount = () => { | ||||||
|     const elementIndex = this.props.statusIds.indexOf(id) - 1; |     return this.props.featuredStatusIds ? this.props.featuredStatusIds.size : 0; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   getCurrentStatusIndex = (id, featured) => { | ||||||
|  |     if (featured) { | ||||||
|  |       return this.props.featuredStatusIds.indexOf(id); | ||||||
|  |     } else { | ||||||
|  |       return this.props.statusIds.indexOf(id) + this.getFeaturedStatusCount(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   handleMoveUp = (id, featured) => { | ||||||
|  |     const elementIndex = this.getCurrentStatusIndex(id, featured) - 1; | ||||||
|     this._selectChild(elementIndex); |     this._selectChild(elementIndex); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   handleMoveDown = id => { |   handleMoveDown = (id, featured) => { | ||||||
|     const elementIndex = this.props.statusIds.indexOf(id) + 1; |     const elementIndex = this.getCurrentStatusIndex(id, featured) + 1; | ||||||
|     this._selectChild(elementIndex); |     this._selectChild(elementIndex); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user