Skip to content

Commit

Permalink
Merge pull request #45873 from nkdengineer/fix/45570
Browse files Browse the repository at this point in the history
Prevent focus on confirm button
  • Loading branch information
techievivek authored Jul 25, 2024
2 parents 83da216 + b1e2d83 commit b0f810d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/components/MoneyRequestConfirmationList.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {useFocusEffect, useIsFocused} from '@react-navigation/native';
import lodashIsEqual from 'lodash/isEqual';
import React, {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react';
import {View} from 'react-native';
import {InteractionManager, View} from 'react-native';
import {withOnyx} from 'react-native-onyx';
import type {OnyxEntry} from 'react-native-onyx';
import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
Expand All @@ -11,6 +11,7 @@ import {MouseProvider} from '@hooks/useMouseContext';
import usePermissions from '@hooks/usePermissions';
import usePrevious from '@hooks/usePrevious';
import useThemeStyles from '@hooks/useThemeStyles';
import blurActiveElement from '@libs/Accessibility/blurActiveElement';
import * as CurrencyUtils from '@libs/CurrencyUtils';
import DistanceRequestUtils from '@libs/DistanceRequestUtils';
import type {MileageRate} from '@libs/DistanceRequestUtils';
Expand Down Expand Up @@ -754,11 +755,12 @@ function MoneyRequestConfirmationList({
);

const focusTimeoutRef = useRef<NodeJS.Timeout | null>(null);
const confirmButtonRef = useRef<View>(null);
useFocusEffect(
useCallback(() => {
focusTimeoutRef.current = setTimeout(() => {
confirmButtonRef.current?.focus();
InteractionManager.runAfterInteractions(() => {
blurActiveElement();
});
}, CONST.ANIMATED_TRANSITION);
return () => focusTimeoutRef.current && clearTimeout(focusTimeoutRef.current);
}, []),
Expand Down Expand Up @@ -795,7 +797,6 @@ function MoneyRequestConfirmationList({
/>
) : (
<ButtonWithDropdownMenu
buttonRef={confirmButtonRef}
success
pressOnEnter
isDisabled={shouldDisableButton}
Expand Down
3 changes: 3 additions & 0 deletions src/libs/Accessibility/blurActiveElement/index.native.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
const blurActiveElement = () => {};

export default blurActiveElement;
8 changes: 8 additions & 0 deletions src/libs/Accessibility/blurActiveElement/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const blurActiveElement = () => {
if (!(document.activeElement instanceof HTMLElement)) {
return;
}
document.activeElement.blur();
};

export default blurActiveElement;

0 comments on commit b0f810d

Please sign in to comment.