From 5a238d99d883595d546192f3eb57d9f629214ab4 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 10 May 2025 21:34:15 +0000 Subject: [PATCH] fix: single signer wording --- .../_authenticated+/documents.$id._index.tsx | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/apps/remix/app/routes/_authenticated+/documents.$id._index.tsx b/apps/remix/app/routes/_authenticated+/documents.$id._index.tsx index ac513d5df..195f29dc9 100644 --- a/apps/remix/app/routes/_authenticated+/documents.$id._index.tsx +++ b/apps/remix/app/routes/_authenticated+/documents.$id._index.tsx @@ -1,6 +1,6 @@ import { useLingui } from '@lingui/react'; import { Plural, Trans } from '@lingui/react/macro'; -import { DocumentStatus, TeamMemberRole } from '@prisma/client'; +import { DocumentStatus, SigningStatus, TeamMemberRole } from '@prisma/client'; import { ChevronLeft, Clock9, Users2 } from 'lucide-react'; import { Link, redirect } from 'react-router'; import { match } from 'ts-pattern'; @@ -111,10 +111,25 @@ export async function loader({ params, request }: Route.LoaderArgs) { recipients, }; + let isSingleSignerDocument = false; + if ( + documentWithRecipients.status === DocumentStatus.PENDING && + documentWithRecipients.recipients.length === 1 + ) { + const singleRecipient = documentWithRecipients.recipients[0]; + if ( + singleRecipient.email === user.email && + singleRecipient.signingStatus === SigningStatus.SIGNED + ) { + isSingleSignerDocument = true; + } + } + return superLoaderJson({ document: documentWithRecipients, documentRootPath, fields, + isSingleSignerDocument, }); } @@ -124,7 +139,7 @@ export default function DocumentPage() { const { _ } = useLingui(); const { user } = useSession(); - const { document, documentRootPath, fields } = loaderData; + const { document, documentRootPath, fields, isSingleSignerDocument } = loaderData; const { recipients, documentData, documentMeta } = document; @@ -237,6 +252,10 @@ export default function DocumentPage() { This document is currently a draft and has not been sent )) .with(DocumentStatus.PENDING, () => { + if (isSingleSignerDocument) { + return This document has been signed and is being finalized.; + } + const pendingRecipients = recipients.filter( (recipient) => recipient.signingStatus === 'NOT_SIGNED', );