Fix toots opening in dynamic column when trying to interact with them
This fixes inline preview cards and polls, preventing them from opening the toot in detailed view when clicking on an interactive element.
This commit is contained in:
		
							parent
							
								
									bd3567b3f8
								
							
						
					
					
						commit
						e80fabfd84
					
				
					 1 changed files with 6 additions and 2 deletions
				
			
		| 
						 | 
					@ -100,8 +100,12 @@ export default class StatusContent extends React.PureComponent {
 | 
				
			||||||
    const [ startX, startY ] = this.startXY;
 | 
					    const [ startX, startY ] = this.startXY;
 | 
				
			||||||
    const [ deltaX, deltaY ] = [Math.abs(e.clientX - startX), Math.abs(e.clientY - startY)];
 | 
					    const [ deltaX, deltaY ] = [Math.abs(e.clientX - startX), Math.abs(e.clientY - startY)];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (e.target.localName === 'button' || e.target.localName == 'video' || e.target.localName === 'a' || (e.target.parentNode && (e.target.parentNode.localName === 'button' || e.target.parentNode.localName === 'a'))) {
 | 
					    let element = e.target;
 | 
				
			||||||
      return;
 | 
					    while (element) {
 | 
				
			||||||
 | 
					      if (element.localName === 'button' || element.localName === 'video' || element.localName === 'a' || element.localName === 'label') {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      element = element.parentNode;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (deltaX + deltaY < 5 && e.button === 0 && parseClick) {
 | 
					    if (deltaX + deltaY < 5 && e.button === 0 && parseClick) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue