import React, { useCallback, useMemo } from 'react' import DropDownButton from 'components/Button/DropDownButton' import { ArrowDownLine, Cross, HandCoins, Plus, Scale } from 'components/Icons' import useCloseHlsStakingPosition from 'hooks/HLS/useClosePositionActions' import useStore from 'store' export const MANAGE_META = { id: 'manage' } interface Props { account: HLSAccountWithStrategy } export default function Manage(props: Props) { const openModal = useCallback( (action: HlsStakingManageAction) => useStore.setState({ hlsManageModal: { accountId: props.account.id, staking: { strategy: props.account.strategy, action }, }, }), [props.account.id, props.account.strategy], ) const actions = useCloseHlsStakingPosition({ account: props.account }) const closeHlsStakingPosition = useStore((s) => s.closeHlsStakingPosition) const hasNoDebt = useMemo(() => props.account.debts.length === 0, [props.account.debts.length]) const ITEMS: DropDownItem[] = useMemo( () => [ { icon: , text: 'Change leverage', onClick: () => openModal('leverage'), }, { icon: , text: 'Deposit more', onClick: () => openModal('deposit'), }, ...(hasNoDebt ? [] : [ { icon: , text: 'Repay', onClick: () => openModal('repay'), }, ]), { icon: , text: 'Withdraw', onClick: () => openModal('withdraw'), }, { icon: , text: 'Close Position', onClick: () => closeHlsStakingPosition({ accountId: props.account.id, actions }), }, ], [actions, closeHlsStakingPosition, openModal, props.account.id], ) return }