From 83fbc70a1cc6e2f9b13b4312d2fecf6fb0b6effb Mon Sep 17 00:00:00 2001 From: Ted Liang Date: Fri, 13 Mar 2026 15:52:15 +1100 Subject: [PATCH] refactor: avoid recipient color duplication (#2355) --- .../embed/authoring/configure-fields-view.tsx | 6 +- .../document-signing-field-container.tsx | 24 ++- .../envelope-editor-fields-drag-drop.tsx | 22 +-- .../envelope-recipient-selector.tsx | 16 +- .../envelope-signer-page-renderer.tsx | 13 +- apps/remix/tailwind.config.ts | 5 +- .../providers/envelope-editor-provider.tsx | 13 +- .../providers/envelope-render-provider.tsx | 10 +- .../field-renderer/field-generic-items.ts | 6 +- .../document/document-read-only-fields.tsx | 5 +- packages/ui/lib/recipient-colors.ts | 183 +++++++----------- .../primitives/document-flow/add-fields.tsx | 6 +- .../primitives/document-flow/field-item.tsx | 4 +- packages/ui/primitives/recipient-selector.tsx | 16 +- .../template-flow/add-template-fields.tsx | 15 +- packages/ui/tailwind.config.cjs | 4 +- 16 files changed, 128 insertions(+), 220 deletions(-) diff --git a/apps/remix/app/components/embed/authoring/configure-fields-view.tsx b/apps/remix/app/components/embed/authoring/configure-fields-view.tsx index 25a3448d7..c05f4f502 100644 --- a/apps/remix/app/components/embed/authoring/configure-fields-view.tsx +++ b/apps/remix/app/components/embed/authoring/configure-fields-view.tsx @@ -16,7 +16,7 @@ import { type TFieldMetaSchema, ZFieldMetaSchema } from '@documenso/lib/types/fi import { nanoid } from '@documenso/lib/universal/id'; import { ADVANCED_FIELD_TYPES_WITH_OPTIONAL_SETTING } from '@documenso/lib/utils/advanced-fields-helpers'; import { getDocumentDataUrlForPdfViewer } from '@documenso/lib/utils/envelope-download'; -import { useRecipientColors } from '@documenso/ui/lib/recipient-colors'; +import { getRecipientColorStyles } from '@documenso/ui/lib/recipient-colors'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; import { FieldItem } from '@documenso/ui/primitives/document-flow/field-item'; @@ -155,9 +155,7 @@ export const ConfigureFieldsView = ({ }); const selectedRecipientIndex = recipients.findIndex((r) => r.id === selectedRecipient?.id); - const selectedRecipientStyles = useRecipientColors( - selectedRecipientIndex === -1 ? 0 : selectedRecipientIndex, - ); + const selectedRecipientStyles = getRecipientColorStyles(selectedRecipientIndex); const form = useForm({ defaultValues: { diff --git a/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx b/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx index 9f823bec2..e6b2474c1 100644 --- a/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx +++ b/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx @@ -9,7 +9,7 @@ import { type TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZFieldMetaSchema } from '@documenso/lib/types/field-meta'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { FieldRootContainer } from '@documenso/ui/components/field/field'; -import { RECIPIENT_COLOR_STYLES } from '@documenso/ui/lib/recipient-colors'; +import { getRecipientColorStyles } from '@documenso/ui/lib/recipient-colors'; import { cn } from '@documenso/ui/lib/utils'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; @@ -131,18 +131,16 @@ export const DocumentSigningFieldContainer = ({ return ( - {!field.inserted && !loading && !readOnlyField && ( -