'use client';
import { getTruncatedAmount } from '@/earn/utils/getTruncatedAmount';
import { Skeleton } from '@/internal/components/Skeleton';
import { useCallback, useMemo } from 'react';
import { useAccount } from 'wagmi';
import type { DepositBalanceProps } from '../types';
import { EarnBalance } from './EarnBalance';
import { useEarnContext } from './EarnProvider';
export function DepositBalance({ className }: DepositBalanceProps) {
const { address } = useAccount();
const {
setDepositAmount,
vaultToken,
walletBalance,
walletBalanceStatus: status,
} = useEarnContext();
const handleMaxPress = useCallback(() => {
if (walletBalance) {
setDepositAmount(walletBalance);
}
}, [walletBalance, setDepositAmount]);
const balance = useMemo(() => {
if (!walletBalance) {
return '0';
}
return getTruncatedAmount(walletBalance.toString(), 6);
}, [walletBalance]);
const title = useMemo(() => {
if (!address) {
return 'Wallet not connected';
}
// Fetching vault token, but user is connected
if (!vaultToken) {
return (