import { useMemo, useState } from 'react' import Button, { LinkButton } from '../shared/Button' import DepositModal from '../modals/DepositModal' import WithdrawModal from '../modals/WithdrawModal' import { ArrowDownTrayIcon, ArrowUpTrayIcon, BanknotesIcon, DocumentDuplicateIcon, EllipsisHorizontalIcon, PencilIcon, TrashIcon, UsersIcon, } from '@heroicons/react/20/solid' import { useTranslation } from 'next-i18next' import IconDropMenu from '../shared/IconDropMenu' import CloseAccountModal from '../modals/CloseAccountModal' import AccountNameModal from '../modals/AccountNameModal' import { copyToClipboard } from 'utils' import { notify } from 'utils/notifications' import { abbreviateAddress } from 'utils/formatting' import { HealthType, toUiDecimalsForQuote, } from '@blockworks-foundation/mango-v4' import RepayModal from '@components/modals/RepayModal' import DelegateModal from '@components/modals/DelegateModal' import useMangoAccount from 'hooks/useMangoAccount' import useMangoGroup from 'hooks/useMangoGroup' const AccountActions = () => { const { t } = useTranslation(['common', 'close-account']) const { group } = useMangoGroup() const { mangoAccount } = useMangoAccount() const [showCloseAccountModal, setShowCloseAccountModal] = useState(false) const [showDepositModal, setShowDepositModal] = useState(false) const [showEditAccountModal, setShowEditAccountModal] = useState(false) const [showWithdrawModal, setShowWithdrawModal] = useState(false) const [showRepayModal, setShowRepayModal] = useState(false) const [showDelegateModal, setShowDelegateModal] = useState(false) const handleCopyAddress = (address: string) => { copyToClipboard(address) notify({ title: t('copy-address-success', { pk: abbreviateAddress(mangoAccount!.publicKey), }), type: 'success', }) } const hasBorrows = useMemo(() => { if (!mangoAccount || !group) return false return ( toUiDecimalsForQuote( mangoAccount.getLiabsValue(group, HealthType.init).toNumber() ) >= 10 ) }, [mangoAccount, group]) return ( <>