From e0065a8731eced30a06844e0efafc97225686986 Mon Sep 17 00:00:00 2001 From: Ephraim Duncan <55143799+ephraimduncan@users.noreply.github.com> Date: Thu, 8 Aug 2024 00:47:00 +0000 Subject: [PATCH] fix: show signup option only to users without existing accounts (#1221) Changes the signup CTA to only display if the recipient doesn't already have an account. --- apps/web/src/app/(signing)/sign/[token]/complete/page.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx index f505b0692..66310a6e8 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx @@ -13,6 +13,7 @@ import { isRecipientAuthorized } from '@documenso/lib/server-only/document/is-re import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token'; import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; import { getRecipientSignatures } from '@documenso/lib/server-only/recipient/get-recipient-signatures'; +import { getUserByEmail } from '@documenso/lib/server-only/user/get-user-by-email'; import { DocumentStatus, FieldType, RecipientRole } from '@documenso/prisma/client'; import { DocumentDownloadButton } from '@documenso/ui/components/document/document-download-button'; import { DocumentShareButton } from '@documenso/ui/components/document/document-share-button'; @@ -77,6 +78,9 @@ export default async function CompletedSigningPage({ } const signatures = await getRecipientSignatures({ recipientId: recipient.id }); + const isExistingUser = await getUserByEmail({ email: recipient.email }) + .then((u) => !!u) + .catch(() => false); const recipientName = recipient.name || @@ -85,7 +89,7 @@ export default async function CompletedSigningPage({ const sessionData = await getServerSession(); const isLoggedIn = !!sessionData?.user; - const canSignUp = !isLoggedIn && NEXT_PUBLIC_DISABLE_SIGNUP !== 'true'; + const canSignUp = !isExistingUser && NEXT_PUBLIC_DISABLE_SIGNUP !== 'true'; return (