import { useState } from 'react'; import { WcController, EventsController, RouterController } from '@reown/appkit-core-react-native'; import { type WcWallet } from '@reown/appkit-common-react-native'; import { FlexView, IconLink, SearchBar, useTheme, useCustomDimensions } from '@reown/appkit-ui-react-native'; import styles from './styles'; import { useDebounceCallback } from '../../hooks/useDebounceCallback'; import { AllWalletsList } from '../../partials/w3m-all-wallets-list'; import { AllWalletsSearch } from '../../partials/w3m-all-wallets-search'; import { WcHelpersUtil } from '../../utils/HelpersUtil'; export function AllWalletsView() { const Theme = useTheme(); const [searchQuery, setSearchQuery] = useState(''); const { padding } = useCustomDimensions(); const { debouncedCallback: onInputChange } = useDebounceCallback({ callback: setSearchQuery }); const onWalletPress = (wallet: WcWallet, displayIndex: number) => { const isExternal = WcHelpersUtil.isExternalWallet(wallet); if (isExternal) { RouterController.push('ConnectingExternal', { wallet }); } else { RouterController.push('WalletConnect', { wallet }); } EventsController.sendEvent({ type: 'track', event: 'SELECT_WALLET', properties: { name: wallet.name ?? 'Unknown', platform: 'mobile', explorerId: wallet.id, walletRank: wallet.order, displayIndex, view: 'AllWallets' } }); }; const onQrCodePress = () => { WcController.removePressedWallet(); WcController.removeWcLinking(); RouterController.push('WalletConnect'); EventsController.sendEvent({ type: 'track', event: 'SELECT_WALLET', properties: { name: 'WalletConnect', platform: 'qrcode' } }); }; const headerTemplate = () => { return ( ); }; const listTemplate = () => { if (searchQuery) { return ; } return ; }; return ( <> {headerTemplate()} {listTemplate()} ); }