import React from 'react'; import { Button, Center, Flex, MenuItem, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, useDisclosure, Text, useToast, } from '@chakra-ui/react'; import { useClient } from 'urql'; import { FaRegTrashAlt } from 'react-icons/fa'; import { DeleteEmailTemplate } from '../graphql/mutation'; import { capitalizeFirstLetter } from '../utils'; interface deleteEmailTemplateModalInputPropTypes { emailTemplateId: string; eventName: string; fetchEmailTemplatesData: Function; } const DeleteEmailTemplateModal = ({ emailTemplateId, eventName, fetchEmailTemplatesData, }: deleteEmailTemplateModalInputPropTypes) => { const client = useClient(); const toast = useToast(); const { isOpen, onOpen, onClose } = useDisclosure(); const deleteHandler = async () => { const res = await client .mutation(DeleteEmailTemplate, { params: { id: emailTemplateId } }) .toPromise(); if (res.error) { toast({ title: capitalizeFirstLetter(res.error.message), isClosable: true, status: 'error', position: 'top-right', }); return; } else if (res.data?._delete_email_template) { toast({ title: capitalizeFirstLetter(res.data?._delete_email_template.message), isClosable: true, status: 'success', position: 'top-right', }); } onClose(); fetchEmailTemplatesData(); }; return ( <> Delete Delete Email Template Are you sure? Email template for event {eventName} will be deleted permanently! ); }; export default DeleteEmailTemplateModal;