From: Thibaut Girka Date: Tue, 5 Mar 2019 22:17:09 +0000 (+0100) Subject: Fix toots opening in dynamic column when trying to interact with them X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=e80fabfd84c1e2d157ca1cd536f68f3c75f011c1;p=mastodon.git 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. --- diff --git a/app/javascript/flavours/glitch/components/status_content.js b/app/javascript/flavours/glitch/components/status_content.js index c60d63f9a..98a34ebaf 100644 --- a/app/javascript/flavours/glitch/components/status_content.js +++ b/app/javascript/flavours/glitch/components/status_content.js @@ -100,8 +100,12 @@ export default class StatusContent extends React.PureComponent { const [ startX, startY ] = this.startXY; 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'))) { - return; + let element = e.target; + 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) {