From e248cfa503a36251c799b20b49367e7118346764 Mon Sep 17 00:00:00 2001 From: Zuzanna Furtak Date: Mon, 29 Sep 2025 16:25:16 +0200 Subject: [PATCH] Make IOURequestStepDistanceRate use new SelectionList --- src/components/SelectionList/BaseSelectionList.tsx | 2 +- .../request/step/IOURequestStepDistanceRate.tsx | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/SelectionList/BaseSelectionList.tsx b/src/components/SelectionList/BaseSelectionList.tsx index 03761a53138e..93f59d358eb3 100644 --- a/src/components/SelectionList/BaseSelectionList.tsx +++ b/src/components/SelectionList/BaseSelectionList.tsx @@ -144,7 +144,7 @@ function BaseSelectionList({ const debouncedScrollToIndex = useDebounce(scrollToIndex, CONST.TIMING.LIST_SCROLLING_DEBOUNCE_TIME, {leading: true, trailing: true}); const [focusedIndex, setFocusedIndex] = useArrowKeyFocusManager({ - initialFocusedIndex: data.findIndex((item) => item.keyForList === initiallyFocusedItemKey), + initialFocusedIndex, maxIndex: data.length - 1, disabledIndexes: dataDetails.disabledArrowKeyIndexes, isActive: isFocused, diff --git a/src/pages/iou/request/step/IOURequestStepDistanceRate.tsx b/src/pages/iou/request/step/IOURequestStepDistanceRate.tsx index 0734349ddc23..be30f157bd74 100644 --- a/src/pages/iou/request/step/IOURequestStepDistanceRate.tsx +++ b/src/pages/iou/request/step/IOURequestStepDistanceRate.tsx @@ -1,7 +1,7 @@ import React from 'react'; import type {OnyxEntry} from 'react-native-onyx'; -import SelectionList from '@components/SelectionListWithSections'; -import RadioListItem from '@components/SelectionListWithSections/RadioListItem'; +import SelectionList from '@components/SelectionList'; +import RadioListItem from '@components/SelectionList/ListItem/RadioListItem'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useOnyx from '@hooks/useOnyx'; @@ -62,14 +62,14 @@ function IOURequestStepDistanceRate({ Navigation.goBack(backTo); }; - const sections = Object.values(rates).map((rate) => { + const options = Object.values(rates).map((rate) => { const unit = transaction?.comment?.customUnit?.customUnitRateID === rate.customUnitRateID ? DistanceRequestUtils.getDistanceUnit(transaction, rate) : rate.unit; const isSelected = currentRateID ? currentRateID === rate.customUnitRateID : DistanceRequestUtils.getDefaultMileageRate(policy)?.customUnitRateID === rate.customUnitRateID; const rateForDisplay = DistanceRequestUtils.getRateForDisplay(unit, rate.rate, isSelected ? transactionCurrency : rate.currency, translate, toLocaleDigit); return { text: rate.name ?? rateForDisplay, alternateText: rate.name ? rateForDisplay : '', - keyForList: rate.customUnitRateID, + keyForList: rate.customUnitRateID ?? rateForDisplay, value: rate.customUnitRateID, isDisabled: !rate.enabled, isSelected, @@ -78,7 +78,7 @@ function IOURequestStepDistanceRate({ // eslint-disable-next-line rulesdir/no-negated-variables const shouldShowNotFoundPage = useShowNotFoundPageInIOUStep(action, iouType, reportActionID, report, transaction); - const initiallyFocusedOption = sections.find((item) => item.isSelected)?.keyForList; + const initiallyFocusedOption = options.find((item) => item.isSelected)?.keyForList; function selectDistanceRate(customUnitRateID: string) { let taxAmount; @@ -116,11 +116,11 @@ function IOURequestStepDistanceRate({ {translate('iou.chooseARate')} selectDistanceRate(value ?? '')} shouldSingleExecuteRowSelect - initiallyFocusedOptionKey={initiallyFocusedOption} + initiallyFocusedItemKey={initiallyFocusedOption} /> );