diff --git a/src/pages/ReimbursementAccount/NonUSD/BankInfo/subSteps/AccountHolderDetails.tsx b/src/pages/ReimbursementAccount/NonUSD/BankInfo/subSteps/AccountHolderDetails.tsx index 2c1fe3274a2e9..6529bad009356 100644 --- a/src/pages/ReimbursementAccount/NonUSD/BankInfo/subSteps/AccountHolderDetails.tsx +++ b/src/pages/ReimbursementAccount/NonUSD/BankInfo/subSteps/AccountHolderDetails.tsx @@ -12,6 +12,7 @@ import useReimbursementAccountStepFormSubmit from '@hooks/useReimbursementAccoun import useThemeStyles from '@hooks/useThemeStyles'; import type {BankInfoSubStepProps} from '@pages/ReimbursementAccount/NonUSD/BankInfo/types'; import {getBankInfoStepValues} from '@pages/ReimbursementAccount/NonUSD/utils/getBankInfoStepValues'; +import getInputForValueSet from '@pages/ReimbursementAccount/NonUSD/utils/getInputForValueSet'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import type {ReimbursementAccountForm} from '@src/types/form/ReimbursementAccountForm'; @@ -79,6 +80,10 @@ function AccountHolderDetails({onNext, isEditing, corpayFields}: BankInfoSubStep const inputs = useMemo(() => { return accountHolderDetailsFields?.map((field) => { + if (field.valueSet !== undefined) { + return getInputForValueSet(field, String(defaultValues[field.id as keyof typeof defaultValues]), isEditing, styles); + } + if (field.id === ACCOUNT_HOLDER_COUNTRY) { return ( ); }); - }, [accountHolderDetailsFields, styles.mb6, styles.mhn5, defaultValues, isEditing, defaultBankAccountCountry, translate]); + }, [accountHolderDetailsFields, styles, defaultValues, isEditing, defaultBankAccountCountry, translate]); return ( { return bankAccountDetailsFields?.map((field) => { + if (field.valueSet !== undefined) { + return getInputForValueSet(field, String(defaultValues[field.id as keyof typeof defaultValues]), isEditing, styles); + } + return ( ); }); - }, [bankAccountDetailsFields, styles.mb6, isEditing, defaultValues]); + }, [bankAccountDetailsFields, styles, isEditing, defaultValues]); return ( { + return values.reduce((acc, curr) => { + if (curr.code && curr.text) { + acc[curr.code] = Str.recapitalize(curr.text); + } + return acc; + }, {} as Record); +} + +function getInputForValueSet(field: CorpayFormField, defaultValue: string, isEditing: boolean, styles: ThemeStyles) { + return ( + + + + ); +} + +export default getInputForValueSet; diff --git a/src/types/onyx/CorpayFields.ts b/src/types/onyx/CorpayFields.ts index 2fa2961c41d2e..cee67c2de835b 100644 --- a/src/types/onyx/CorpayFields.ts +++ b/src/types/onyx/CorpayFields.ts @@ -27,6 +27,8 @@ type CorpayFormField = { id: string; /** Label for the form field value */ text: string; + /** Value */ + code: string; }>; /** Contains possible list of values for dropdown field (only for Canada region fields) */ links?: Array<{