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 { DeleteWebhook } from '../graphql/mutation'; import { capitalizeFirstLetter } from '../utils'; interface deleteWebhookModalInputPropTypes { webhookId: string; eventName: string; fetchWebookData: Function; } const DeleteWebhookModal = ({ webhookId, eventName, fetchWebookData, }: deleteWebhookModalInputPropTypes) => { const client = useClient(); const toast = useToast(); const { isOpen, onOpen, onClose } = useDisclosure(); const deleteHandler = async () => { const res = await client .mutation(DeleteWebhook, { params: { id: webhookId } }) .toPromise(); if (res.error) { toast({ title: capitalizeFirstLetter(res.error.message), isClosable: true, status: 'error', position: 'bottom-right', }); return; } else if (res.data?._delete_webhook) { toast({ title: capitalizeFirstLetter(res.data?._delete_webhook.message), isClosable: true, status: 'success', position: 'bottom-right', }); } onClose(); fetchWebookData(); }; return ( <> Delete Delete Webhook Are you sure? Webhook for event {eventName} will be deleted permanently! ); }; export default DeleteWebhookModal;