Skip to content

Commit 52b4eca

Browse files
authored
Merge pull request #54396 from CyberAndrii/53156-Fix-input-autofocus-on-Sage-Intacct/NetSuite-setup-pages
Fix input autofocus on Sage Intacct/NetSuite setup pages
2 parents d8dcfb2 + 63ceb3e commit 52b4eca

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

src/components/ConnectToNetSuiteFlow/index.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,11 @@ function ConnectToNetSuiteFlow({policyID}: ConnectToNetSuiteFlowProps) {
5959
if (threeDotsMenuContainerRef) {
6060
if (!shouldUseNarrowLayout) {
6161
threeDotsMenuContainerRef.current?.measureInWindow((x, y, width, height) => {
62-
setReuseConnectionPopoverPosition({
63-
horizontal: x + width,
64-
vertical: y + height,
65-
});
62+
const horizontal = x + width;
63+
const vertical = y + height;
64+
if (reuseConnectionPopoverPosition.horizontal !== horizontal || reuseConnectionPopoverPosition.vertical !== vertical) {
65+
setReuseConnectionPopoverPosition({horizontal, vertical});
66+
}
6667
});
6768
}
6869

src/components/ConnectToSageIntacctFlow/index.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,11 @@ function ConnectToSageIntacctFlow({policyID}: ConnectToSageIntacctFlowProps) {
6464
if (threeDotsMenuContainerRef) {
6565
if (!shouldUseNarrowLayout) {
6666
threeDotsMenuContainerRef.current?.measureInWindow((x, y, width, height) => {
67-
setReuseConnectionPopoverPosition({
68-
horizontal: x + width,
69-
vertical: y + height,
70-
});
67+
const horizontal = x + width;
68+
const vertical = y + height;
69+
if (reuseConnectionPopoverPosition.horizontal !== horizontal || reuseConnectionPopoverPosition.vertical !== vertical) {
70+
setReuseConnectionPopoverPosition({horizontal, vertical});
71+
}
7172
});
7273
}
7374

src/pages/workspace/accounting/intacct/EnterSageIntacctCredentialsPage.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton';
77
import ScreenWrapper from '@components/ScreenWrapper';
88
import Text from '@components/Text';
99
import TextInput from '@components/TextInput';
10+
import useAutoFocusInput from '@hooks/useAutoFocusInput';
1011
import useLocalize from '@hooks/useLocalize';
1112
import useThemeStyles from '@hooks/useThemeStyles';
1213
import {connectToSageIntacct} from '@libs/actions/connections/SageIntacct';
@@ -24,6 +25,7 @@ type SageIntacctPrerequisitesPageProps = PlatformStackScreenProps<SettingsNaviga
2425
function EnterSageIntacctCredentialsPage({route}: SageIntacctPrerequisitesPageProps) {
2526
const styles = useThemeStyles();
2627
const {translate} = useLocalize();
28+
const {inputCallbackRef} = useAutoFocusInput();
2729
const policyID: string = route.params.policyID;
2830

2931
const confirmCredentials = useCallback(
@@ -70,14 +72,15 @@ function EnterSageIntacctCredentialsPage({route}: SageIntacctPrerequisitesPagePr
7072
shouldValidateOnChange
7173
>
7274
<Text style={[styles.textHeadlineH1, styles.pb5, styles.pt3]}>{translate('workspace.intacct.enterCredentials')}</Text>
73-
{formItems.map((formItem) => (
75+
{formItems.map((formItem, index) => (
7476
<View
7577
style={styles.mb4}
7678
key={formItem}
7779
>
7880
<InputWrapper
7981
InputComponent={TextInput}
8082
inputID={formItem}
83+
ref={index === 0 ? inputCallbackRef : undefined}
8184
label={translate(`common.${formItem}`)}
8285
aria-label={translate(`common.${formItem}`)}
8386
role={CONST.ROLE.PRESENTATION}

0 commit comments

Comments
 (0)