'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 { reactivateUser } from '../actions.server'; function ReactivateUserModal({ 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 reactivateUser({ userId: user.id, csrfToken, }); onDismiss(); }); }; return ( Reactivate User

You are about to reactivate the account belonging to{' '} {displayText}.

Are you sure you want to do this?

); } export default ReactivateUserModal;