'use client'; import { Avatar, Name } from '@/identity'; import { Spinner } from '@/internal/components/Spinner'; import { zIndex } from '@/styles/constants'; import { cn, pressable, text } from '@/styles/theme'; import { useCallback, useState } from 'react'; import { useWalletContext } from './WalletProvider'; import { usePortfolio } from '../hooks/usePortfolio'; import { RequestContext } from '@/core/network/constants'; import { useAccount } from 'wagmi'; import { useOnchainKit } from '@/useOnchainKit'; type WalletAdvancedAddressDetailsProps = { classNames?: { container?: string; avatar?: string; nameButton?: string; fiatBalance?: string; }; }; export function WalletAdvancedAddressDetails({ classNames, }: WalletAdvancedAddressDetailsProps) { const { animations } = useWalletContext(); const { address } = useAccount(); const { chain } = useOnchainKit(); const [copyText, setCopyText] = useState('Copy'); const handleCopyAddress = useCallback(async () => { try { await navigator.clipboard.writeText(String(address)); setCopyText('Copied'); setTimeout(() => setCopyText('Copy'), 2000); } catch (err) { console.error('Failed to copy address:', err); setCopyText('Failed to copy'); setTimeout(() => setCopyText('Copy'), 2000); } }, [address]); if (!address || !chain) { return
; // Prevent layout shift } return (