import { useCallback, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useRecoilValue } from 'recoil'; import { useAuth } from '@/auth/hooks/useAuth'; import { currentUserState } from '@/auth/states/currentUserState'; import { AppPath } from '@/types/AppPath'; import { ConfirmationModal, StyledConfirmationButton, } from '@/ui/modal/components/ConfirmationModal'; import { H2Title } from '@/ui/typography/components/H2Title'; import { useDeleteCurrentWorkspaceMutation } from '~/generated/graphql'; export function DeleteWorkspace() { const [isDeleteWorkSpaceModalOpen, setIsDeleteWorkSpaceModalOpen] = useState(false); const [deleteCurrentWorkspace] = useDeleteCurrentWorkspaceMutation(); const currentUser = useRecoilValue(currentUserState); const userEmail = currentUser?.email; const { signOut } = useAuth(); const navigate = useNavigate(); const handleLogout = useCallback(() => { signOut(); navigate(AppPath.SignIn); }, [signOut, navigate]); const deleteWorkspace = async () => { await deleteCurrentWorkspace(); handleLogout(); }; return ( <> setIsDeleteWorkSpaceModalOpen(true)} variant="secondary" title="Delete workspace" /> This action cannot be undone. This will permanently delete your entire workspace.
Please type in your email to confirm. } onConfirmClick={deleteWorkspace} deleteButtonText="Delete workspace" /> ); }