import { useState, useTransition } from 'react'; import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert'; import { AlertDialog, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '@kit/ui/alert-dialog'; import { Button } from '@kit/ui/button'; import { If } from '@kit/ui/if'; import { Trans } from '@kit/ui/trans'; import { deleteInvitationAction } from '../../server/actions/team-invitations-server-actions'; export function DeleteInvitationDialog({ isOpen, setIsOpen, invitationId, }: { isOpen: boolean; setIsOpen: (isOpen: boolean) => void; invitationId: number; }) { return ( ); } function DeleteInvitationForm({ invitationId, setIsOpen, }: { invitationId: number; setIsOpen: (isOpen: boolean) => void; }) { const [isSubmitting, startTransition] = useTransition(); const [error, setError] = useState(); const onInvitationRemoved = () => { startTransition(async () => { try { await deleteInvitationAction({ invitationId }); setIsOpen(false); } catch { setError(true); } }); }; return (

); } function RemoveInvitationErrorAlert() { return ( ); }