From d9a6c27f3b54b04b9069b44897868b1adfe804bc 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 cc26f6a112..7a90e6b8a4 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) {