@@ -16,11 +16,13 @@ import useLocalize from '@hooks/useLocalize';
1616import useNetwork from '@hooks/useNetwork' ;
1717import useOnyx from '@hooks/useOnyx' ;
1818import useResponsiveLayout from '@hooks/useResponsiveLayout' ;
19+ import useSearchResults from '@hooks/useSearchResults' ;
1920import useStyleUtils from '@hooks/useStyleUtils' ;
2021import useTheme from '@hooks/useTheme' ;
2122import useThemeStyles from '@hooks/useThemeStyles' ;
2223import { openPolicyExpensifyCardsPage } from '@libs/actions/Policy/Policy' ;
2324import Navigation from '@libs/Navigation/Navigation' ;
25+ import tokenizedSearch from '@libs/tokenizedSearch' ;
2426import variables from '@styles/variables' ;
2527import CONST from '@src/CONST' ;
2628import ONYXKEYS from '@src/ONYXKEYS' ;
@@ -45,6 +47,13 @@ function SpendRulesSection({policyID}: SpendRulesSectionProps) {
4547 const [ expensifyCardSettings ] = useOnyx ( `${ ONYXKEYS . COLLECTION . PRIVATE_EXPENSIFY_CARD_SETTINGS } ${ defaultFundID } ` ) ;
4648 const { cardRules, isLoadingCardRules} = useExpensifyCardRules ( policyID ) ;
4749
50+ const filterCardRules = ( cardRule : ( typeof cardRules ) [ number ] , searchInput : string ) => {
51+ const results = tokenizedSearch ( [ cardRule ] , searchInput , ( option ) => option . searchTokens ) ;
52+ return results . length > 0 ;
53+ } ;
54+
55+ const [ inputValue , setInputValue , filteredCardRules ] = useSearchResults ( cardRules , filterCardRules ) ;
56+
4857 useEffect ( ( ) => {
4958 if ( ! defaultFundID || defaultFundID === CONST . DEFAULT_NUMBER_ID ) {
5059 return ;
0 commit comments