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