From 1a3088364fe602bb48647d78dda440b174424e17 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Fri, 21 Dec 2018 18:40:50 +0100 Subject: [PATCH] Fix composer not getting focus after reply confirmation dialog The modal-handling code gives back focus to the element focused when the modal opened. However, in the case of reply confirmation, it would do so *after* the composer code itself requested focus. --- app/javascript/flavours/glitch/components/modal_root.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/components/modal_root.js b/app/javascript/flavours/glitch/components/modal_root.js index cc26f6a11..7a90e6b8a 100644 --- a/app/javascript/flavours/glitch/components/modal_root.js +++ b/app/javascript/flavours/glitch/components/modal_root.js @@ -39,13 +39,15 @@ export default class ModalRoot extends React.PureComponent { } else if (!nextProps.children) { this.setState({ revealed: false }); } + if (!nextProps.children && !!this.props.children) { + this.activeElement.focus(); + this.activeElement = null; + } } componentDidUpdate (prevProps) { if (!this.props.children && !!prevProps.children) { this.getSiblings().forEach(sibling => sibling.removeAttribute('inert')); - this.activeElement.focus(); - this.activeElement = null; this.handleModalClose(); } if (this.props.children) {