22import { Typography } from '@mui/material' ;
33import { type InputHTMLAttributes , useMemo , useState } from 'react' ;
44
5- import { cn } from '@venusprotocol/ui' ;
65import { TokenIconWithSymbol } from 'components/TokenIconWithSymbol' ;
76import { useTranslation } from 'libs/translations' ;
87import type { Token , TokenBalance } from 'types' ;
@@ -18,6 +17,7 @@ import { useStyles } from './styles';
1817export interface TokenListProps {
1918 tokenBalances : OptionalTokenBalance [ ] ;
2019 onTokenClick : ( token : Token ) => void ;
20+ displayCommonTokenButtons : boolean ;
2121 'data-testid' ?: string ;
2222}
2323
@@ -26,17 +26,16 @@ const commonTokenSymbols = ['XVS', 'BNB', 'USDT', 'BTCB'];
2626export const TokenList : React . FC < TokenListProps > = ( {
2727 tokenBalances,
2828 onTokenClick,
29+ displayCommonTokenButtons,
2930 'data-testid' : testId ,
3031} ) => {
3132 const { t } = useTranslation ( ) ;
3233 const parentStyles = useParentStyles ( ) ;
3334 const styles = useStyles ( ) ;
3435
35- const commonTokenBalances = useMemo (
36- ( ) =>
37- tokenBalances . filter ( tokenBalance => commonTokenSymbols . includes ( tokenBalance . token . symbol ) ) ,
38- [ tokenBalances ] ,
39- ) ;
36+ const commonTokenBalances = displayCommonTokenButtons
37+ ? tokenBalances . filter ( tokenBalance => commonTokenSymbols . includes ( tokenBalance . token . symbol ) )
38+ : [ ] ;
4039
4140 const [ searchValue , setSearchValue ] = useState ( '' ) ;
4241
@@ -85,30 +84,29 @@ export const TokenList: React.FC<TokenListProps> = ({
8584
8685 return (
8786 < div css = { styles . container } >
88- < div className = { cn ( commonTokenBalances . length > 2 && 'mb-5 pl-3 pr-3 pt-3' ) } >
87+ < div className = "mb-5 pl-3 pr-3 pt-3" >
88+ < TextField
89+ css = { styles . searchField }
90+ size = "xs"
91+ autoFocus
92+ value = { searchValue }
93+ onChange = { handleSearchInputChange }
94+ placeholder = { t ( 'selectTokenTextField.searchInput.placeholder' ) }
95+ leftIconSrc = "magnifier"
96+ />
97+
8998 { commonTokenBalances . length > 2 && (
90- < >
91- < TextField
92- css = { styles . searchField }
93- size = "xs"
94- autoFocus
95- value = { searchValue }
96- onChange = { handleSearchInputChange }
97- placeholder = { t ( 'selectTokenTextField.searchInput.placeholder' ) }
98- leftIconSrc = "magnifier"
99- />
100- < div css = { styles . commonTokenList } >
101- { commonTokenBalances . map ( commonTokenBalance => (
102- < SenaryButton
103- onClick = { ( ) => onTokenClick ( commonTokenBalance . token ) }
104- css = { styles . commonTokenButton }
105- key = { `select-token-text-field-common-token-${ commonTokenBalance . token . symbol } ` }
106- >
107- < TokenIconWithSymbol css = { parentStyles . token } token = { commonTokenBalance . token } />
108- </ SenaryButton >
109- ) ) }
110- </ div >
111- </ >
99+ < div css = { styles . commonTokenList } >
100+ { commonTokenBalances . map ( commonTokenBalance => (
101+ < SenaryButton
102+ onClick = { ( ) => onTokenClick ( commonTokenBalance . token ) }
103+ css = { styles . commonTokenButton }
104+ key = { `select-token-text-field-common-token-${ commonTokenBalance . token . symbol } ` }
105+ >
106+ < TokenIconWithSymbol css = { parentStyles . token } token = { commonTokenBalance . token } />
107+ </ SenaryButton >
108+ ) ) }
109+ </ div >
112110 ) }
113111 </ div >
114112
0 commit comments