import { MarginAccount } from '@blockworks-foundation/mango-client' import { useEffect, useState } from 'react' import useMangoStore from '../stores/useMangoStore' import Select from './Select' import { abbreviateAddress } from '../utils' type MarginAccountSelectProps = { className?: string onChange?: (x) => void value?: MarginAccount | null disabled?: boolean } const MarginAccountSelect = ({ onChange, value, disabled = false, className = '', }: MarginAccountSelectProps) => { const marginAccounts = useMangoStore((s) => s.marginAccounts) const [selectedMarginAccount, setSelectedMarginAccount] = useState( value || marginAccounts[0] ) useEffect(() => { if (value) { setSelectedMarginAccount(value) } }, [value]) const handleSelectMarginAccount = (value) => { const marginAccount = marginAccounts.find( (ma) => ma.publicKey.toString() === value ) setSelectedMarginAccount(marginAccount) if (onChange) { onChange(marginAccount) } } return ( ) } export default MarginAccountSelect