import { useCallback, useState } from 'react'; import { RefreshControl, ScrollView, StyleSheet, type StyleProp, type ViewStyle } from 'react-native'; import { useSnapshot } from 'valtio'; import { AssetController, AssetUtil, ConnectionsController, RouterController } from '@reown/appkit-core-react-native'; import { FlexView, ListItem, Text, ListToken, useTheme, Spacing, LoadingSpinner } from '@reown/appkit-ui-react-native'; interface Props { style?: StyleProp; isLoading?: boolean; } export function AccountTokens({ style, isLoading }: Props) { const Theme = useTheme(); const [refreshing, setRefreshing] = useState(false); const { activeNetwork, balances } = useSnapshot(ConnectionsController.state); const { networkImages } = useSnapshot(AssetController.state); const networkImage = AssetUtil.getNetworkImage(activeNetwork, networkImages); const getBalance = useCallback(async () => { setRefreshing(true); await ConnectionsController.fetchBalance(); setRefreshing(false); }, []); const onReceivePress = () => { RouterController.push('WalletReceive'); }; if (!balances?.length) { return ( <> Receive funds Transfer tokens on your wallet {isLoading ? : null} ); } return ( } > {balances.map(token => ( ))} {isLoading ? : null} ); } const styles = StyleSheet.create({ receiveButton: { width: 'auto', marginHorizontal: Spacing.s }, loadingSpinner: { marginTop: Spacing.m } });