From c9ff3214e1326c46a6aa533b58db460b8a1ab2f5 Mon Sep 17 00:00:00 2001 From: mkhutornyi Date: Thu, 21 Dec 2023 10:38:03 -0500 Subject: [PATCH 1/2] dismiss keyboard on Choose SSO or MagicCode page --- src/pages/signin/ChooseSSOOrMagicCode.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pages/signin/ChooseSSOOrMagicCode.js b/src/pages/signin/ChooseSSOOrMagicCode.js index db985e525545..339a61bd7d23 100644 --- a/src/pages/signin/ChooseSSOOrMagicCode.js +++ b/src/pages/signin/ChooseSSOOrMagicCode.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; -import React from 'react'; -import {View} from 'react-native'; +import React, {useEffect} from 'react'; +import {Keyboard, View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; import _ from 'underscore'; import Button from '@components/Button'; @@ -58,6 +58,10 @@ function ChooseSSOOrMagicCode({credentials, account, setIsUsingMagicCode}) { const {isOffline} = useNetwork(); const {isSmallScreenWidth} = useWindowDimensions(); + useEffect(() => { + Keyboard.dismiss(); + }, []); + return ( <> From 034e93d90bccc3ba589cca0811c38a707d941e66 Mon Sep 17 00:00:00 2001 From: mkhutornyi Date: Wed, 3 Jan 2024 13:55:40 +0100 Subject: [PATCH 2/2] fix redundant dismiss call when keyboard is not shown --- src/pages/signin/ChooseSSOOrMagicCode.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/signin/ChooseSSOOrMagicCode.js b/src/pages/signin/ChooseSSOOrMagicCode.js index 339a61bd7d23..13d20e689128 100644 --- a/src/pages/signin/ChooseSSOOrMagicCode.js +++ b/src/pages/signin/ChooseSSOOrMagicCode.js @@ -6,6 +6,7 @@ import _ from 'underscore'; import Button from '@components/Button'; import FormHelpMessage from '@components/FormHelpMessage'; import Text from '@components/Text'; +import useKeyboardState from '@hooks/useKeyboardState'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; @@ -54,13 +55,18 @@ const defaultProps = { function ChooseSSOOrMagicCode({credentials, account, setIsUsingMagicCode}) { const styles = useThemeStyles(); + const {isKeyboardShown} = useKeyboardState(); const {translate} = useLocalize(); const {isOffline} = useNetwork(); const {isSmallScreenWidth} = useWindowDimensions(); + // This view doesn't have a field for user input, so dismiss the device keyboard if shown useEffect(() => { + if (!isKeyboardShown) { + return; + } Keyboard.dismiss(); - }, []); + }, [isKeyboardShown]); return ( <>