import { useState } from 'react'; import { useSnapshot } from 'valtio'; import { ScrollView } from 'react-native'; import { FlexView, InputText, ListToken, Text, useCustomDimensions } from '@reown/appkit-ui-react-native'; import { AssetController, AssetUtil, ConnectionsController, RouterController, SendController } from '@reown/appkit-core-react-native'; import type { Balance } from '@reown/appkit-common-react-native'; import { Placeholder } from '../../partials/w3m-placeholder'; import styles from './styles'; export function WalletSendSelectTokenView() { const { padding, maxHeight } = useCustomDimensions(); const { activeNetwork, balances } = useSnapshot(ConnectionsController.state); const { networkImages } = useSnapshot(AssetController.state); const networkImage = AssetUtil.getNetworkImage(activeNetwork, networkImages); const [tokenSearch, setTokenSearch] = useState(''); const [filteredTokens, setFilteredTokens] = useState(balances ?? []); const onSearchChange = (value: string) => { setTokenSearch(value); const filtered = ConnectionsController.state.balances?.filter( _token => _token.name?.toLowerCase().includes(value.toLowerCase()) ); setFilteredTokens(filtered ?? []); }; const onTokenPress = (_token: Balance) => { SendController.setToken(_token); SendController.setTokenAmount(undefined); RouterController.goBack(); }; return ( Your tokens {filteredTokens.length ? ( filteredTokens.map((_token, index) => ( onTokenPress(_token)} /> )) ) : ( )} ); }