import React, { useState } from 'react'; import { AlertDialog, AlertDialogBody, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, Button } from '@chakra-ui/react'; import { useForm } from 'react-hook-form'; import useCustomToast from '../../hooks/useCustomToast'; import { useItemsStore } from '../../store/items-store'; import { useUsersStore } from '../../store/users-store'; interface DeleteProps { type: string; id: number isOpen: boolean; onClose: () => void; } const Delete: React.FC = ({ type, id, isOpen, onClose }) => { const showToast = useCustomToast(); const cancelRef = React.useRef(null); const { handleSubmit, formState: {isSubmitting} } = useForm(); const { deleteItem } = useItemsStore(); const { deleteUser } = useUsersStore(); const onSubmit = async () => { try { type === 'Item' ? await deleteItem(id) : await deleteUser(id); showToast('Success', `The ${type.toLowerCase()} was deleted successfully.`, 'success'); onClose(); } catch (err) { showToast('An error occurred.', `An error occurred while deleting the ${type.toLowerCase()}.`, 'error'); } } return ( <> Delete {type} {type === 'User' && All items associated with this user will also be permantly deleted. } Are you sure? You will not be able to undo this action. ) } export default Delete;