Skip to content

Commit b0f810d

Browse files
authored
Merge pull request Expensify#45873 from nkdengineer/fix/45570
Prevent focus on confirm button
2 parents 83da216 + b1e2d83 commit b0f810d

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

src/components/MoneyRequestConfirmationList.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {useFocusEffect, useIsFocused} from '@react-navigation/native';
22
import lodashIsEqual from 'lodash/isEqual';
33
import React, {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react';
4-
import {View} from 'react-native';
4+
import {InteractionManager, View} from 'react-native';
55
import {withOnyx} from 'react-native-onyx';
66
import type {OnyxEntry} from 'react-native-onyx';
77
import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
@@ -11,6 +11,7 @@ import {MouseProvider} from '@hooks/useMouseContext';
1111
import usePermissions from '@hooks/usePermissions';
1212
import usePrevious from '@hooks/usePrevious';
1313
import useThemeStyles from '@hooks/useThemeStyles';
14+
import blurActiveElement from '@libs/Accessibility/blurActiveElement';
1415
import * as CurrencyUtils from '@libs/CurrencyUtils';
1516
import DistanceRequestUtils from '@libs/DistanceRequestUtils';
1617
import type {MileageRate} from '@libs/DistanceRequestUtils';
@@ -754,11 +755,12 @@ function MoneyRequestConfirmationList({
754755
);
755756

756757
const focusTimeoutRef = useRef<NodeJS.Timeout | null>(null);
757-
const confirmButtonRef = useRef<View>(null);
758758
useFocusEffect(
759759
useCallback(() => {
760760
focusTimeoutRef.current = setTimeout(() => {
761-
confirmButtonRef.current?.focus();
761+
InteractionManager.runAfterInteractions(() => {
762+
blurActiveElement();
763+
});
762764
}, CONST.ANIMATED_TRANSITION);
763765
return () => focusTimeoutRef.current && clearTimeout(focusTimeoutRef.current);
764766
}, []),
@@ -795,7 +797,6 @@ function MoneyRequestConfirmationList({
795797
/>
796798
) : (
797799
<ButtonWithDropdownMenu
798-
buttonRef={confirmButtonRef}
799800
success
800801
pressOnEnter
801802
isDisabled={shouldDisableButton}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const blurActiveElement = () => {};
2+
3+
export default blurActiveElement;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
const blurActiveElement = () => {
2+
if (!(document.activeElement instanceof HTMLElement)) {
3+
return;
4+
}
5+
document.activeElement.blur();
6+
};
7+
8+
export default blurActiveElement;

0 commit comments

Comments
 (0)