import { useCallback, useMemo } from 'react' import moment from 'moment' import VaultLogo from 'components/Earn/Farm/VaultLogo' import Modal from 'components/Modal' import VaultModalContent from 'components/Modals/Vault/VaultModalContent' import Text from 'components/Text' import { ASSETS } from 'constants/assets' import useCurrentAccount from 'hooks/useCurrentAccount' import useStore from 'store' import VaultModalContentHeader from 'components/Modals/Vault/VaultModalContentHeader' import { InfoCircle } from 'components/Icons' import { Tooltip } from 'components/Tooltip' export default function VaultModalController() { const currentAccount = useCurrentAccount() const modal = useStore((s) => s.vaultModal) const primaryAsset = ASSETS.find((asset) => asset.denom === modal?.vault.denoms.primary) const secondaryAsset = ASSETS.find((asset) => asset.denom === modal?.vault.denoms.secondary) if (!modal || !currentAccount || !primaryAsset || !secondaryAsset) return null return ( ) } interface Props { currentAccount: Account modal: VaultModal primaryAsset: Asset secondaryAsset: Asset } function VaultModal(props: Props) { const { modal: { vault, isDeposited }, primaryAsset, secondaryAsset, currentAccount, } = props const onClose = useCallback(() => { useStore.setState({ vaultModal: null }) }, []) const unlockTime = useMemo(() => { if ('unlocksAt' in vault && vault.unlocksAt) { return moment(vault.unlocksAt) } }, [vault]) return ( {vault.name} {unlockTime && ( )} } headerClassName='gradient-header pl-2 pr-2.5 py-2.5 border-b-white/5 border-b' contentClassName='flex flex-col' > ) }