import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Trans } from '@lingui/macro'; import { signOut } from 'next-auth/react'; import { RecipientRole } from '@documenso/prisma/client'; import { Alert, AlertDescription } from '@documenso/ui/primitives/alert'; import { Button } from '@documenso/ui/primitives/button'; import { DialogFooter } from '@documenso/ui/primitives/dialog'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; export type DocumentActionAuthAccountProps = { actionTarget?: 'FIELD' | 'DOCUMENT'; actionVerb?: string; onOpenChange: (value: boolean) => void; }; export const DocumentActionAuthAccount = ({ actionTarget = 'FIELD', actionVerb = 'sign', onOpenChange, }: DocumentActionAuthAccountProps) => { const { recipient } = useRequiredDocumentAuthContext(); const router = useRouter(); const [isSigningOut, setIsSigningOut] = useState(false); const handleChangeAccount = async (email: string) => { try { setIsSigningOut(true); await signOut({ redirect: false, }); router.push(`/signin#email=${email}`); } catch { setIsSigningOut(false); // Todo: Alert. } }; return (
); };