import React, { useCallback, useState } from 'react'; import type { WatchlistAddress } from 'types/api/account'; import FormModal from 'ui/shared/FormModal'; import AddressForm from './AddressForm'; type Props = { isAdd: boolean; open: boolean; onOpenChange: ({ open }: { open: boolean }) => void; onSuccess: () => Promise; data?: Partial; hasEmail: boolean; showEmailAlert?: boolean; }; const AddressModal: React.FC = ({ open, onOpenChange, onSuccess, data, isAdd, hasEmail, showEmailAlert }) => { const title = !isAdd ? 'Edit watch list address' : 'New address to watch list'; const text = isAdd ? 'An email notification can be sent to you when an address on your watch list sends or receives any transactions.' : ''; const [ isAlertVisible, setAlertVisible ] = useState(false); const renderForm = useCallback(() => { return ( ); }, [ data, isAdd, onSuccess, hasEmail, showEmailAlert ]); return ( open={ open } onOpenChange={ onOpenChange } title={ title } text={ text } renderForm={ renderForm } isAlertVisible={ isAlertVisible } setAlertVisible={ setAlertVisible } /> ); }; export default AddressModal;