From 5cd0fdcd86c7af652b5214b750c38b29a0066d5c Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Tue, 4 Feb 2025 00:26:25 +0300 Subject: [PATCH] focus quantity text input on setting subrate value --- .../iou/request/step/IOURequestStepSubrate.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/pages/iou/request/step/IOURequestStepSubrate.tsx b/src/pages/iou/request/step/IOURequestStepSubrate.tsx index 297383468794..9dad09c1914b 100644 --- a/src/pages/iou/request/step/IOURequestStepSubrate.tsx +++ b/src/pages/iou/request/step/IOURequestStepSubrate.tsx @@ -1,6 +1,6 @@ import {useNavigation} from '@react-navigation/native'; -import React, {useCallback, useEffect, useState} from 'react'; -import {View} from 'react-native'; +import React, {useCallback, useEffect, useRef, useState} from 'react'; +import {InteractionManager, View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import ConfirmModal from '@components/ConfirmModal'; @@ -10,11 +10,11 @@ import type {FormOnyxValues} from '@components/Form/types'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import * as Expensicons from '@components/Icon/Expensicons'; import type BaseModalProps from '@components/Modal/types'; +import type {AnimatedTextInputRef} from '@components/RNTextInput'; import ScreenWrapper from '@components/ScreenWrapper'; import Text from '@components/Text'; import TextInput from '@components/TextInput'; import ValuePicker from '@components/ValuePicker'; -import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; @@ -75,7 +75,7 @@ function IOURequestStepSubrate({ const navigation = useNavigation(); const isFocused = navigation.isFocused(); const {translate} = useLocalize(); - const {inputCallbackRef} = useAutoFocusInput(); + const textInputRef = useRef(null); const parsedIndex = parseInt(pageIndex, 10); const selectedDestination = transaction?.comment?.customUnit?.customUnitRateID; const allSubrates = transaction?.comment?.customUnit?.subRates ?? []; @@ -228,13 +228,18 @@ function IOURequestStepSubrate({ value={subrateValue} defaultValue={currentSubrate?.id} items={validOptions} - onValueChange={(value) => setSubrateValue(value as string)} + onValueChange={(value) => { + setSubrateValue(value as string); + InteractionManager.runAfterInteractions(() => { + textInputRef.current?.focus(); + }); + }} />