diff --git a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx index b7d2cf452..2bd888bb0 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx @@ -114,7 +114,7 @@ export const DataTableActionDropdown = ({ row, team }: DataTableActionDropdownPr Action - {recipient?.role !== RecipientRole.CC && ( + {recipient && recipient?.role !== RecipientRole.CC && ( {recipient?.role === RecipientRole.VIEWER && ( diff --git a/apps/web/src/app/(signing)/sign/[token]/name-field.tsx b/apps/web/src/app/(signing)/sign/[token]/name-field.tsx index 6e661e77a..44de2fc36 100644 --- a/apps/web/src/app/(signing)/sign/[token]/name-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/name-field.tsx @@ -118,7 +118,7 @@ export const NameField = ({ field, recipient }: NameFieldProps) => { ({recipient.email}) -
+
({ ...recipient, email: recipient.email.toLowerCase(), @@ -77,8 +81,9 @@ export const setRecipientsForDocument = async ({ }) .filter((recipient) => { return ( - recipient._persisted?.sendStatus !== SendStatus.SENT && - recipient._persisted?.signingStatus !== SigningStatus.SIGNED + recipient._persisted?.role === RecipientRole.CC || + (recipient._persisted?.sendStatus !== SendStatus.SENT && + recipient._persisted?.signingStatus !== SigningStatus.SIGNED) ); }); @@ -96,6 +101,7 @@ export const setRecipientsForDocument = async ({ email: recipient.email, role: recipient.role, documentId, + sendStatus: recipient.role === RecipientRole.CC ? SendStatus.SENT : SendStatus.NOT_SENT, signingStatus: recipient.role === RecipientRole.CC ? SigningStatus.SIGNED : SigningStatus.NOT_SIGNED, }, diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index 9c8db7918..be7d451f7 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -304,6 +304,13 @@ export const AddFieldsFormPartial = ({ return recipientsByRole; }, [recipients]); + const recipientsByRoleToDisplay = useMemo(() => { + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions + return (Object.entries(recipientsByRole) as [RecipientRole, Recipient[]][]).filter( + ([role]) => role !== RecipientRole.CC && role !== RecipientRole.VIEWER, + ); + }, [recipientsByRole]); + return ( <> - {Object.entries(recipientsByRole).map(([role, recipients], roleIndex) => ( + {recipientsByRoleToDisplay.map(([role, recipients], roleIndex) => (
- { - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions - RECIPIENT_ROLES_DESCRIPTION[role as RecipientRole].roleName - } + {`${RECIPIENT_ROLES_DESCRIPTION[role].roleName}s`}
{recipients.length === 0 && ( @@ -403,7 +407,7 @@ export const AddFieldsFormPartial = ({ {recipients.map((recipient) => ( { @@ -413,7 +417,7 @@ export const AddFieldsFormPartial = ({ > {recipient.name && ( diff --git a/packages/ui/primitives/document-flow/add-signers.tsx b/packages/ui/primitives/document-flow/add-signers.tsx index 26aedcae7..b1341c6ca 100644 --- a/packages/ui/primitives/document-flow/add-signers.tsx +++ b/packages/ui/primitives/document-flow/add-signers.tsx @@ -105,7 +105,10 @@ export const AddSignersFormPartial = ({ } return recipients.some( - (recipient) => recipient.id === id && recipient.sendStatus === SendStatus.SENT, + (recipient) => + recipient.id === id && + recipient.sendStatus === SendStatus.SENT && + recipient.role !== RecipientRole.CC, ); };