import { ModalProps } from '../../types/modal' import Modal from '../shared/Modal' import { useEffect, useState } from 'react' import TabUnderline from '@components/shared/TabUnderline' import DepositForm from '@components/DepositForm' import WithdrawForm from '@components/WithdrawForm' import { ACCOUNT_ACTION_MODAL_HEIGHT } from 'utils/constants' import mangoStore from '@store/mangoStore' import { useWallet } from '@solana/wallet-adapter-react' import useUnownedAccount from 'hooks/useUnownedAccount' interface DepositWithdrawModalProps { action: 'deposit' | 'withdraw' token?: string } type ModalCombinedProps = DepositWithdrawModalProps & ModalProps const DepositWithdrawModal = ({ action, isOpen, onClose, token, }: ModalCombinedProps) => { const [activeTab, setActiveTab] = useState(action) const { publicKey: walletPk } = useWallet() const { isDelegatedAccount } = useUnownedAccount() useEffect(() => { if (walletPk) { mangoStore.getState().actions.fetchWalletTokens(walletPk) } }, [walletPk]) return (
{!isDelegatedAccount ? ( <>
setActiveTab(v)} />
{activeTab === 'deposit' ? ( ) : null} {activeTab === 'withdraw' ? ( ) : null} ) : (
Unavailable for delegate accounts
)}
) } export default DepositWithdrawModal