diff --git a/src/components/AddExpense/CurrencyPicker.tsx b/src/components/AddExpense/CurrencyPicker.tsx index bee56625..4489670b 100644 --- a/src/components/AddExpense/CurrencyPicker.tsx +++ b/src/components/AddExpense/CurrencyPicker.tsx @@ -76,6 +76,17 @@ function CurrencyPickerInner({ [], ); const extractKey = extractValue; + const extractKeywords = useCallback( + (currency: { code: CurrencyCode } | { code: '__CLEAR__' }) => { + if ('__CLEAR__' === currency.code) { + return []; + } + + const translatedName = getCurrencyName(currency.code); + return [translatedName]; + }, + [getCurrencyName], + ); const selectedOption = useCallback( (currency: { code: CurrencyCode } | { code: '__CLEAR__' }) => '__CLEAR__' === currency.code ? currentCurrency === null : currency.code === currentCurrency, @@ -110,6 +121,7 @@ function CurrencyPickerInner({ items={renderedItems} extractValue={extractValue} extractKey={extractKey} + extractKeywords={extractKeywords} selected={selectedOption} render={renderCurrencyItem} /> diff --git a/src/components/GeneralPicker.tsx b/src/components/GeneralPicker.tsx index dee52d04..5c5f642a 100644 --- a/src/components/GeneralPicker.tsx +++ b/src/components/GeneralPicker.tsx @@ -11,6 +11,7 @@ export const GeneralPicker: React.FC<{ items: any[]; extractValue: (item: any) => string; extractKey: (item: any) => string; + extractKeywords?: (item: any) => string[]; selected: (item: any) => boolean; render: (item: any) => React.ReactNode; placeholderText: string; @@ -23,6 +24,7 @@ export const GeneralPicker: React.FC<{ items, extractValue, extractKey, + extractKeywords, render, placeholderText, noOptionsText, @@ -56,6 +58,7 @@ export const GeneralPicker: React.FC<{