From f0a5a7e816e92e8a9389b1533040d2b474b09521 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Tue, 16 Dec 2025 12:06:04 +1100 Subject: [PATCH] feat: prefill typed signature with user's full name (#2324) Add fullName prop to signature pad components to automatically populate typed signature field with signer's name. Updates signature dialog, type component, and all signing forms across embed, document, template, and envelope flows to pass through the user's full name for better user experience. --- .../dialogs/sign-field-signature-dialog.tsx | 3 +++ .../embed-direct-template-client-page.tsx | 1 + .../embed/embed-document-signing-page-v1.tsx | 1 + .../multi-sign-document-signing-view.tsx | 1 + apps/remix/app/components/forms/profile.tsx | 3 ++- .../direct-template-signing-form.tsx | 3 ++- .../document-signing-form.tsx | 1 + .../document-signing-signature-field.tsx | 18 +++++++------ .../envelope-signing/envelope-signer-form.tsx | 13 +++++----- .../envelope-signer-page-renderer.tsx | 1 + .../utils/field-signing/signature-field.ts | 12 +++++++-- .../signature-pad/signature-pad-dialog.tsx | 5 +++- .../signature-pad/signature-pad-type.tsx | 25 ++++++++++++++++--- .../signature-pad/signature-pad.tsx | 14 ++++++++--- 14 files changed, 75 insertions(+), 26 deletions(-) diff --git a/apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx b/apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx index 6ce8c8e77..7e2f41a36 100644 --- a/apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx +++ b/apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx @@ -17,6 +17,7 @@ import { DocumentSigningDisclosure } from '../general/document-signing/document- export type SignFieldSignatureDialogProps = { initialSignature?: string; + fullName?: string; typedSignatureEnabled?: boolean; uploadSignatureEnabled?: boolean; drawSignatureEnabled?: boolean; @@ -28,6 +29,7 @@ export const SignFieldSignatureDialog = createCallable< >( ({ call, + fullName, typedSignatureEnabled, uploadSignatureEnabled, drawSignatureEnabled, @@ -46,6 +48,7 @@ export const SignFieldSignatureDialog = createCallable< setLocalSignature(value)} typedSignatureEnabled={typedSignatureEnabled} diff --git a/apps/remix/app/components/embed/embed-direct-template-client-page.tsx b/apps/remix/app/components/embed/embed-direct-template-client-page.tsx index 10b6d0f16..25fd330ba 100644 --- a/apps/remix/app/components/embed/embed-direct-template-client-page.tsx +++ b/apps/remix/app/components/embed/embed-direct-template-client-page.tsx @@ -438,6 +438,7 @@ export const EmbedDirectTemplateClientPage = ({ className="mt-2" disabled={isThrottled || isSubmitting} disableAnimation + fullName={fullName} value={signature ?? ''} onChange={(v) => setSignature(v ?? '')} typedSignatureEnabled={metadata?.typedSignatureEnabled} diff --git a/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx b/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx index 740597160..0d1c93b27 100644 --- a/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +++ b/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx @@ -455,6 +455,7 @@ export const EmbedSignDocumentV1ClientPage = ({ className="mt-2" disabled={isThrottled || isSubmitting} disableAnimation + fullName={fullName} value={signature ?? ''} onChange={(v) => setSignature(v ?? '')} typedSignatureEnabled={metadata?.typedSignatureEnabled} diff --git a/apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx b/apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx index 4cc5fc4ae..9d994c759 100644 --- a/apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +++ b/apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -319,6 +319,7 @@ export const MultiSignDocumentSigningView = ({ className="mt-2" disabled={isSubmitting} disableAnimation + fullName={fullName} value={signature ?? ''} onChange={(v) => setSignature(v ?? '')} typedSignatureEnabled={ diff --git a/apps/remix/app/components/forms/profile.tsx b/apps/remix/app/components/forms/profile.tsx index d65594669..dec535fe0 100644 --- a/apps/remix/app/components/forms/profile.tsx +++ b/apps/remix/app/components/forms/profile.tsx @@ -110,7 +110,7 @@ export const ProfileForm = ({ className }: ProfileFormProps) => { - + { onChange(v ?? '')} /> diff --git a/apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx b/apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx index 932a693fd..69d1ae8b1 100644 --- a/apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx +++ b/apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx @@ -417,6 +417,7 @@ export const DirectTemplateSigningForm = ({ setSignature(value)} typedSignatureEnabled={template.templateMeta?.typedSignatureEnabled} @@ -433,7 +434,7 @@ export const DirectTemplateSigningForm = ({