'use client'; import { useState, useTransition } from 'react'; import { useRouter } from 'next/navigation'; import type { User } from '@supabase/gotrue-js'; import useCsrfToken from '@kit/hooks/use-csrf-token'; import { Button } from '@kit/ui/button'; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from '@kit/ui/dialog'; import { Input } from '@kit/ui/input'; import { Label } from '@kit/ui/label'; import { deleteUserAction } from '../actions.server'; function DeleteUserModal({ user, }: React.PropsWithChildren<{ user: User; }>) { const router = useRouter(); const [isOpen, setIsOpen] = useState(true); const [pending, startTransition] = useTransition(); const csrfToken = useCsrfToken(); const displayText = user.email ?? user.phone ?? ''; const onDismiss = () => { router.back(); setIsOpen(false); }; const onConfirm = () => { startTransition(async () => { await deleteUserAction({ userId: user.id, csrfToken, }); onDismiss(); }); }; return ( Deleting User

You are about to delete the user {displayText}.

Delete this user will also delete the organizations they are a Owner of, and potentially the data associated with those organizations.

This action is not reversible.

Are you sure you want to do this?

); } export default DeleteUserModal;