@@ -20,6 +20,7 @@ import { Spacer } from "../../components/Spacer.js";
2020import { Spinner } from "../../components/Spinner.js" ;
2121import { Text } from "../../components/text.js" ;
2222import { StyledDiv } from "../../design-system/elements.js" ;
23+ import { useDebouncedValue } from "../../hooks/useDebouncedValue.js" ;
2324import { useIsMobile } from "../../hooks/useisMobile.js" ;
2425import { SearchInput } from "./SearchInput.js" ;
2526import { SelectChainButton } from "./SelectChainButton.js" ;
@@ -57,6 +58,7 @@ function getDefaultSelectedChain(
5758export function SelectToken ( props : SelectTokenUIProps ) {
5859 const chainQuery = useBridgeChains ( props . client ) ;
5960 const [ search , setSearch ] = useState ( "" ) ;
61+ const debouncedSearch = useDebouncedValue ( search , 500 ) ;
6062 const [ limit , setLimit ] = useState ( 1000 ) ;
6163
6264 const [ _selectedChain , setSelectedChain ] = useState < BridgeChain | undefined > (
@@ -76,7 +78,7 @@ export function SelectToken(props: SelectTokenUIProps) {
7678 const tokensQuery = useTokens ( {
7779 client : props . client ,
7880 chainId : selectedChain ?. chainId ,
79- search,
81+ search : debouncedSearch ,
8082 limit,
8183 offset : 0 ,
8284 } ) ;
@@ -93,12 +95,14 @@ export function SelectToken(props: SelectTokenUIProps) {
9395 const filteredOwnedTokens = useMemo ( ( ) => {
9496 return ownedTokensQuery . data ?. tokens ?. filter ( ( token ) => {
9597 return (
96- token . symbol . toLowerCase ( ) . includes ( search . toLowerCase ( ) ) ||
97- token . name . toLowerCase ( ) . includes ( search . toLowerCase ( ) ) ||
98- token . token_address . toLowerCase ( ) . includes ( search . toLowerCase ( ) )
98+ token . symbol . toLowerCase ( ) . includes ( debouncedSearch . toLowerCase ( ) ) ||
99+ token . name . toLowerCase ( ) . includes ( debouncedSearch . toLowerCase ( ) ) ||
100+ token . token_address
101+ . toLowerCase ( )
102+ . includes ( debouncedSearch . toLowerCase ( ) )
99103 ) ;
100104 } ) ;
101- } , [ ownedTokensQuery . data ?. tokens , search ] ) ;
105+ } , [ ownedTokensQuery . data ?. tokens , debouncedSearch ] ) ;
102106
103107 const isFetching = tokensQuery . isFetching || ownedTokensQuery . isFetching ;
104108
0 commit comments