'use client'; import { ReactElement } from 'react'; import { VStack, Text, Heading } from '@chakra-ui/react'; import { useWallet, useGetB3trBalance, useGetVot3Balance, useGetTokenUsdPrice, useCurrentAllocationsRoundId, } from '@vechain/vechain-kit'; import { useTranslation } from 'react-i18next'; export function DataReadingExample(): ReactElement { const { t } = useTranslation(); const { account } = useWallet(); const address = account?.address || ''; // Example hooks for reading data const { data: b3trBalance, isLoading: isLoadingB3tr } = useGetB3trBalance(address); const { data: vot3Balance, isLoading: isLoadingVot3 } = useGetVot3Balance(address); const { data: vetPrice, isLoading: isLoadingVetPrice } = useGetTokenUsdPrice('VET'); const { data: vbdCurrentRoundId } = useCurrentAllocationsRoundId(); return ( {t('Reading Blockchain Data Examples')} {t( 'Hooks to easily read data from the blockchain. Here are some examples using built-in hooks. These hooks use react-query under the hood for efficient data fetching and caching.', )} {/* Live Data Display */} {t('Live Blockchain Data')} {t('B3TR Balance')}:{' '} {isLoadingB3tr ? 'Loading...' : b3trBalance?.formatted || '0'} {t('VOT3 Balance')}:{' '} {isLoadingVot3 ? 'Loading...' : vot3Balance?.formatted || '0'} {t('VET Price')}:{' '} {isLoadingVetPrice ? 'Loading...' : `$${vetPrice?.toFixed(4) || '0'}`} {t('VeBetterDAO')} {t('Current round')}: {vbdCurrentRoundId} ); }