import React, { useCallback } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import { useForm } from 'react-hook-form'; import toast from 'react-hot-toast'; import { Project } from 'gql-client'; import { Button, Dialog, DialogHeader, DialogBody, DialogFooter, Input, Typography, } from '@material-tailwind/react'; import { useGQLClient } from '../../../../context/GQLClientContext'; interface DeleteProjectDialogProp { open: boolean; handleOpen: () => void; project: Project; } const DeleteProjectDialog = ({ open, handleOpen, project, }: DeleteProjectDialogProp) => { const { orgSlug } = useParams(); const navigate = useNavigate(); const client = useGQLClient(); const { handleSubmit, register, formState: { isValid }, } = useForm({ defaultValues: { projectName: '', }, }); const deleteProjectHandler = useCallback(async () => { const { deleteProject } = await client.deleteProject(project.id); if (deleteProject) { navigate(`/${orgSlug}`); } else { toast.error('Project not deleted'); } handleOpen(); }, [client, project, handleOpen]); return (
Delete project?
Deleting your project is irreversible. Enter your project’s name  ({project.name})  below to confirm you want to permanently delete it: value === project.name, })} /> ^ Deleting your project is irreversible.
); }; export default DeleteProjectDialog;