import Icon from '../../../../../shared/components/icon' import Tooltip from '../../../../../shared/components/tooltip' import { Button } from 'react-bootstrap' import { useTranslation } from 'react-i18next' import { UserEmailData } from '../../../../../../../types/user-email' import { useUserEmailsContext } from '../../../context/user-email-context' import { postJSON } from '../../../../../infrastructure/fetch-json' import { UseAsyncReturnType } from '../../../../../shared/hooks/use-async' function DeleteButton({ children, disabled, onClick }: Button.ButtonProps) { const { t } = useTranslation() return ( ) } type RemoveProps = { userEmailData: UserEmailData deleteEmailAsync: UseAsyncReturnType } function Remove({ userEmailData, deleteEmailAsync }: RemoveProps) { const { t } = useTranslation() const { state, deleteEmail, resetLeaversSurveyExpiration } = useUserEmailsContext() const handleRemoveUserEmail = () => { deleteEmailAsync .runAsync( postJSON('/user/emails/delete', { body: { email: userEmailData.email, }, }) ) .then(() => { deleteEmail(userEmailData.email) resetLeaversSurveyExpiration(userEmailData) }) .catch(() => {}) } if (deleteEmailAsync.isLoading) { return } return ( ) } export default Remove