feat: automatically sign fields in large documents (#1484)

## Description

Adds a dialog that will display when a certain field threshold is
reached asking the user if they would like to sign non-critical fields
such as name, date, initials, and email with information that is already
available.

This has not been added to direct templates since we would often not
have all the pre-requisite knowledge since users are mostly anonymous.
Additionally, this has not been added to the embedding view since it may
detract from the experience for some.

Will not prompt the user if there is action authentication on the
document.

See the below demo:


https://github.com/user-attachments/assets/71739b5c-1323-4da9-89fd-a1145c9714d5

## Related Issue

#1281 (Older PR relating to the feature)

## Changes Made

- Added a new auto-sign dialog that will automatically trigger once
certain criteria is met.

## Testing Performed

- Tested that the dialog displays when the threshold is met
- Tested that the dialog is hidden when the threshold is not met
- Tested that the messaging during errors is correct
- Tested that the dialog does not display when 2FA or Passkeys are
required
This commit is contained in:
Lucas Smith
2024-11-20 10:59:09 +11:00
committed by GitHub
parent 0eff336175
commit 9ef8b1f0c3
15 changed files with 401 additions and 54 deletions

View File

@ -550,6 +550,10 @@ msgstr "Ccers"
msgid "Character Limit"
msgstr "Zeichenbeschränkung"
#: packages/ui/primitives/document-flow/types.ts:58
msgid "Checkbox"
msgstr ""
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
msgid "Checkbox values"
msgstr "Checkbox-Werte"
@ -1170,6 +1174,7 @@ msgstr "Bitte bestätige deine E-Mail-Adresse"
msgid "Please try again or contact our support."
msgstr "Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support."
#: packages/ui/primitives/document-flow/types.ts:57
#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
msgid "Radio"
msgstr "Radio"
@ -1291,6 +1296,7 @@ msgid "Search languages..."
msgstr "Sprachen suchen..."
#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:115
#: packages/ui/primitives/document-flow/types.ts:59
msgid "Select"
msgstr "Auswählen"
@ -1808,4 +1814,3 @@ msgstr "Dein Passwort wurde aktualisiert."
#: packages/email/templates/team-delete.tsx:32
msgid "Your team has been deleted"
msgstr "Dein Team wurde gelöscht"

View File

@ -602,4 +602,3 @@ msgstr "Sie können Documenso kostenlos selbst hosten oder unsere sofort einsatz
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
msgid "Your browser does not support the video tag."
msgstr "Ihr Browser unterstützt das Video-Tag nicht."

View File

@ -50,15 +50,15 @@ msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispi
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
msgstr "\"{teamUrl}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:79
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
msgid "({0}) has invited you to approve this document"
msgstr "({0}) hat dich eingeladen, dieses Dokument zu genehmigen"
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:76
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
msgid "({0}) has invited you to sign this document"
msgstr "({0}) hat dich eingeladen, dieses Dokument zu unterzeichnen"
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:73
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
msgid "({0}) has invited you to view this document"
msgstr "({0}) hat dich eingeladen, dieses Dokument zu betrachten"
@ -84,6 +84,10 @@ msgstr "{0, plural, one {# Sitz} other {# Sitze}}"
msgid "{0, plural, one {<0>You have <1>1</1> pending team invitation</0>} other {<2>You have <3>#</3> pending team invitations</2>}}"
msgstr "{0, plural, one {<0>Du hast <1>1</1> ausstehende Team-Einladung</0>} other {<2>Du hast <3>#</3> ausstehende Team-Einladungen</2>}}"
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:196
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
msgstr "{0, plural, one {1 Empfänger} other {# Empfänger}}"
@ -96,6 +100,10 @@ msgstr "{0, plural, one {Warte auf 1 Empfänger} other {Warte auf # Empfänger}}
msgid "{0, plural, zero {Select values} other {# selected...}}"
msgstr "{0, plural, zero {Werte auswählen} other {# ausgewählt...}}"
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:193
msgid "{0}"
msgstr ""
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249
msgid "{0} direct signing templates"
msgstr "{0} direkte Signaturvorlagen"
@ -474,6 +482,10 @@ msgstr "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden."
msgid "An error occurred while adding the fields."
msgstr "Ein Fehler ist aufgetreten, während die Felder hinzugefügt wurden."
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:154
msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields."
msgstr ""
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
msgid "An error occurred while creating document from template."
msgstr "Ein Fehler ist aufgetreten, während das Dokument aus der Vorlage erstellt wurde."
@ -748,7 +760,7 @@ msgstr "Banner aktualisiert"
msgid "Basic details"
msgstr "Basisdetails"
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:72
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:74
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
@ -810,6 +822,7 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:220
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
@ -1799,6 +1812,7 @@ msgstr "Geben Sie hier Ihren Text ein"
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:152
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
@ -2230,6 +2244,10 @@ msgstr "Verwalten Sie alle Teams, mit denen Sie derzeit verbunden sind."
msgid "Manage and view template"
msgstr "Vorlage verwalten und anzeigen"
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:136
msgid "Manage billing"
msgstr ""
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
msgid "Manage details for this public template"
msgstr "Details für diese öffentliche Vorlage verwalten"
@ -2250,7 +2268,7 @@ msgstr "Passkeys verwalten"
msgid "Manage subscription"
msgstr "Abonnement verwalten"
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:66
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:67
msgid "Manage Subscription"
msgstr "Abonnement verwalten"
@ -3175,6 +3193,7 @@ msgstr "Vorlagen in Ihrem Team-Öffentliches Profil anzeigen, damit Ihre Zielgru
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:124
@ -3331,7 +3350,7 @@ msgstr "Website Einstellungen"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:50
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:51
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93
@ -4451,7 +4470,7 @@ msgstr "Möchten Sie auffällige Signatur-Links wie diesen senden? <0>Überprüf
msgid "Want your own public profile?"
msgstr "Möchten Sie Ihr eigenes öffentliches Profil haben?"
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:40
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:41
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:55
#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:31
msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support."
@ -4715,6 +4734,10 @@ msgstr "Hast du stattdessen versucht, dieses Dokument zu bearbeiten?"
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
msgstr "Wenn Sie auf Fortfahren klicken, werden Sie aufgefordert, den ersten verfügbaren Authenticator auf Ihrem System hinzuzufügen."
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:183
msgid "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire."
msgstr ""
#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
msgstr "Wenn Sie unsere Plattform nutzen, um Ihre elektronische Unterschrift auf Dokumente anzubringen, stimmen Sie zu, dies unter dem Gesetz über elektronische Unterschriften im globalen und nationalen Handel (E-Sign-Gesetz) und anderen anwendbaren Gesetzen zu tun. Diese Handlung zeigt Ihre Zustimmung zur Verwendung elektronischer Mittel zum Unterzeichnen von Dokumenten und zum Empfang von Benachrichtigungen an."
@ -4784,7 +4807,7 @@ msgstr "Sie stehen kurz davor, den folgenden Benutzer aus <0>{teamName}</0> zu e
msgid "You are about to revoke access for team <0>{0}</0> ({1}) to use your email."
msgstr "Sie stehen kurz davor, den Zugriff für das Team <0>{0}</0> ({1}) zu widerrufen."
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:78
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:80
msgid "You are currently on the <0>Free Plan</0>."
msgstr "Sie befinden sich derzeit im <0>kostenlosen Plan</0>."
@ -4836,7 +4859,7 @@ msgstr "Sie können ein Teammitglied, das eine höhere Rolle als Sie hat, nicht
msgid "You cannot upload encrypted PDFs"
msgstr "Sie können keine verschlüsselten PDFs hochladen"
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:46
msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance."
msgstr "Sie haben derzeit keinen Kundenrecord, das sollte nicht passieren. Bitte kontaktieren Sie den Support um Hilfe."
@ -4982,7 +5005,7 @@ msgstr "Ihre Marken-Website-URL"
msgid "Your branding preferences have been updated"
msgstr "Ihre Markenpräferenzen wurden aktualisiert"
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125
msgid "Your current plan is past due. Please update your payment information."
msgstr "Ihr aktueller Plan ist überfällig. Bitte aktualisieren Sie Ihre Zahlungsinformationen."
@ -5117,4 +5140,3 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
msgid "Your tokens will be shown here once you create them."
msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben."