diff --git a/apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx b/apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx index 766d45caa..1a2a3fa19 100644 --- a/apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx +++ b/apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx @@ -141,6 +141,23 @@ export const EditTemplateForm = ({ }, }); + const { mutateAsync: updateTypedSignature } = + trpc.template.updateTemplateTypedSignatureSettings.useMutation({ + ...DO_NOT_INVALIDATE_QUERY_ON_MUTATION, + onSuccess: (newData) => { + utils.template.getTemplateWithDetailsById.setData( + { + id: initialTemplate.id, + }, + (oldData) => ({ + ...(oldData || initialTemplate), + ...newData, + id: Number(newData.id), + }), + ); + }, + }); + const onAddSettingsFormSubmit = async (data: TAddTemplateSettingsFormSchema) => { try { await updateTemplateSettings({ @@ -211,6 +228,12 @@ export const EditTemplateForm = ({ fields: data.fields, }); + await updateTypedSignature({ + templateId: template.id, + teamId: team?.id, + typedSignatureEnabled: data.typedSignatureEnabled, + }); + // Clear all field data from localStorage for (let i = 0; i < localStorage.length; i++) { const key = localStorage.key(i); @@ -225,14 +248,13 @@ export const EditTemplateForm = ({ duration: 5000, }); - // Router refresh is here to clear the router cache for when navigating to /documents. - router.refresh(); - router.push(templateRootPath); } catch (err) { + console.error(err); + toast({ title: _(msg`Error`), - description: _(msg`An error occurred while adding signers.`), + description: _(msg`An error occurred while adding fields.`), variant: 'destructive', }); } @@ -301,6 +323,7 @@ export const EditTemplateForm = ({ fields={fields} onSubmit={onAddFieldsFormSubmit} teamId={team?.id} + typedSignatureEnabled={template.templateMeta?.typedSignatureEnabled} /> diff --git a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx index 0436ab3f6..ba011b2f3 100644 --- a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx +++ b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx @@ -73,7 +73,6 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps) const mockedDocumentMeta = templateMeta ? { - typedSignatureEnabled: false, ...templateMeta, signingOrder: templateMeta.signingOrder || DocumentSigningOrder.SEQUENTIAL, documentId: 0, @@ -155,7 +154,7 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps) -

+

Manage and view template

diff --git a/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx b/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx index 35c0d0542..40cf83cee 100644 --- a/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx +++ b/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx @@ -209,11 +209,19 @@ export default async function SigningCertificate({ searchParams }: SigningCertif boxShadow: `0px 0px 0px 4.88px rgba(122, 196, 85, 0.1), 0px 0px 0px 1.22px rgba(122, 196, 85, 0.6), 0px 0px 0px 0.61px rgba(122, 196, 85, 1)`, }} > - Signature + {signature.Signature?.signatureImageAsBase64 && ( + Signature + )} + + {signature.Signature?.typedSignature && ( +

+ {signature.Signature?.typedSignature} +

+ )}

diff --git a/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx b/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx index ea4e7f8f0..bf9b671c4 100644 --- a/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx +++ b/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx @@ -102,9 +102,9 @@ export const SignDirectTemplateForm = ({ created: new Date(), recipientId: 1, fieldId: 1, - signatureImageAsBase64: value.value, - typedSignature: null, - }; + signatureImageAsBase64: value.value.startsWith('data:') ? value.value : null, + typedSignature: value.value.startsWith('data:') ? null : value.value, + } satisfies Signature; } if (field.type === FieldType.DATE) { diff --git a/apps/web/src/app/(signing)/sign/[token]/provider.tsx b/apps/web/src/app/(signing)/sign/[token]/provider.tsx index 454007cb0..6c65fd85d 100644 --- a/apps/web/src/app/(signing)/sign/[token]/provider.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/provider.tsx @@ -1,6 +1,6 @@ 'use client'; -import { createContext, useContext, useState } from 'react'; +import { createContext, useContext, useEffect, useState } from 'react'; export type SigningContextValue = { fullName: string; @@ -44,6 +44,12 @@ export const SigningProvider = ({ const [email, setEmail] = useState(initialEmail || ''); const [signature, setSignature] = useState(initialSignature || null); + useEffect(() => { + if (initialSignature) { + setSignature(initialSignature); + } + }, [initialSignature]); + return ( (null); + const containerRef = useRef(null); + const [fontSize, setFontSize] = useState(2); + const { signature: providedSignature, setSignature: setProvidedSignature } = useRequiredSigningContext(); @@ -108,6 +112,7 @@ export const SignatureField = ({ actionTarget: field.type, }); }; + const onSign = async (authOptions?: TRecipientActionAuth, signature?: string) => { try { const value = signature || providedSignature; @@ -117,11 +122,23 @@ export const SignatureField = ({ return; } + const isTypedSignature = !value.startsWith('data:image'); + + if (isTypedSignature && !typedSignatureEnabled) { + toast({ + title: _(msg`Error`), + description: _(msg`Typed signatures are not allowed. Please draw your signature.`), + variant: 'destructive', + }); + + return; + } + const payload: TSignFieldWithTokenMutationSchema = { token: recipient.token, fieldId: field.id, value, - isBase64: true, + isBase64: !isTypedSignature, authOptions, }; @@ -176,6 +193,41 @@ export const SignatureField = ({ } }; + useLayoutEffect(() => { + if (!signatureRef.current || !containerRef.current || !signature?.typedSignature) { + return; + } + + const adjustTextSize = () => { + const container = containerRef.current; + const text = signatureRef.current; + + if (!container || !text) { + return; + } + + let size = 2; + text.style.fontSize = `${size}rem`; + + while ( + (text.scrollWidth > container.clientWidth || text.scrollHeight > container.clientHeight) && + size > 0.8 + ) { + size -= 0.1; + text.style.fontSize = `${size}rem`; + } + + setFontSize(size); + }; + + const resizeObserver = new ResizeObserver(adjustTextSize); + resizeObserver.observe(containerRef.current); + + adjustTextSize(); + + return () => resizeObserver.disconnect(); + }, [signature?.typedSignature]); + return ( - {/* This optional chaining is intentional, we don't want to move the check into the condition above */} - {signature?.typedSignature} -

+
+

+ {signature?.typedSignature} +

+
)} diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx index ed29a5287..3a72cb255 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx @@ -52,13 +52,7 @@ export default async function TeamsSettingsPage({ params }: TeamsSettingsPagePro - +
{(team.teamEmail || team.emailVerification) && ( diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx index 559928a53..ed7875ab0 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx @@ -39,6 +39,7 @@ const ZTeamDocumentPreferencesFormSchema = z.object({ documentVisibility: z.nativeEnum(DocumentVisibility), documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES), includeSenderDetails: z.boolean(), + typedSignatureEnabled: z.boolean(), includeSigningCertificate: z.boolean(), }); @@ -69,6 +70,7 @@ export const TeamDocumentPreferencesForm = ({ ? settings?.documentLanguage : 'en', includeSenderDetails: settings?.includeSenderDetails ?? false, + typedSignatureEnabled: settings?.typedSignatureEnabled ?? true, includeSigningCertificate: settings?.includeSigningCertificate ?? true, }, resolver: zodResolver(ZTeamDocumentPreferencesFormSchema), @@ -83,6 +85,7 @@ export const TeamDocumentPreferencesForm = ({ documentLanguage, includeSenderDetails, includeSigningCertificate, + typedSignatureEnabled, } = data; await updateTeamDocumentPreferences({ @@ -91,6 +94,7 @@ export const TeamDocumentPreferencesForm = ({ documentVisibility, documentLanguage, includeSenderDetails, + typedSignatureEnabled, includeSigningCertificate, }, }); @@ -113,7 +117,7 @@ export const TeamDocumentPreferencesForm = ({
+ ( + + + Enable Typed Signature + + +
+ + + +
+ + + + Controls whether the recipients can sign the documents using a typed signature. + Enable or disable the typed signature globally. + + +
+ )} + /> + { + console.log({ signature }); return (

diff --git a/apps/web/src/app/embed/direct/[[...url]]/client.tsx b/apps/web/src/app/embed/direct/[[...url]]/client.tsx index 40f8ee7ca..8e8545310 100644 --- a/apps/web/src/app/embed/direct/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/direct/[[...url]]/client.tsx @@ -14,7 +14,7 @@ import { DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-form import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; import { DEFAULT_DOCUMENT_TIME_ZONE } from '@documenso/lib/constants/time-zones'; import { validateFieldsInserted } from '@documenso/lib/utils/fields'; -import type { DocumentMeta, Recipient, TemplateMeta } from '@documenso/prisma/client'; +import type { DocumentMeta, Recipient, Signature, TemplateMeta } from '@documenso/prisma/client'; import { type DocumentData, type Field, FieldType } from '@documenso/prisma/client'; import { trpc } from '@documenso/trpc/react'; import type { @@ -113,9 +113,9 @@ export const EmbedDirectTemplateClientPage = ({ created: new Date(), recipientId: 1, fieldId: 1, - signatureImageAsBase64: payload.value, - typedSignature: null, - }; + signatureImageAsBase64: payload.value.startsWith('data:') ? payload.value : null, + typedSignature: payload.value.startsWith('data:') ? null : payload.value, + } satisfies Signature; } if (field.type === FieldType.DATE) { @@ -312,8 +312,8 @@ export const EmbedDirectTemplateClientPage = ({ fieldId: 1, recipientId: 1, created: new Date(), - typedSignature: null, - signatureImageAsBase64: signature, + signatureImageAsBase64: signature?.startsWith('data:') ? signature : null, + typedSignature: signature?.startsWith('data:') ? null : signature, }} /> ); diff --git a/apps/web/src/app/embed/document-fields.tsx b/apps/web/src/app/embed/document-fields.tsx index 05ef098bd..79256b07e 100644 --- a/apps/web/src/app/embed/document-fields.tsx +++ b/apps/web/src/app/embed/document-fields.tsx @@ -58,6 +58,7 @@ export const EmbedDocumentFields = ({ recipient={recipient} onSignField={onSignField} onUnsignField={onUnsignField} + typedSignatureEnabled={metadata?.typedSignatureEnabled} /> )) .with(FieldType.INITIALS, () => ( diff --git a/apps/web/src/app/embed/sign/[[...url]]/client.tsx b/apps/web/src/app/embed/sign/[[...url]]/client.tsx index 81dcb129d..3dc428474 100644 --- a/apps/web/src/app/embed/sign/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/sign/[[...url]]/client.tsx @@ -192,8 +192,8 @@ export const EmbedSignDocumentClientPage = ({ fieldId: 1, recipientId: 1, created: new Date(), - typedSignature: null, - signatureImageAsBase64: signature, + signatureImageAsBase64: signature?.startsWith('data:') ? signature : null, + typedSignature: signature?.startsWith('data:') ? null : signature, }} /> ); @@ -218,7 +218,7 @@ export const EmbedSignDocumentClientPage = ({ className="group/document-widget fixed bottom-8 left-0 z-50 h-fit w-full flex-shrink-0 px-6 md:sticky md:top-4 md:z-auto md:w-[350px] md:px-0" data-expanded={isExpanded || undefined} > -
+
{/* Header */}
diff --git a/apps/web/src/components/(teams)/forms/update-team-form.tsx b/apps/web/src/components/(teams)/forms/update-team-form.tsx index 0ed19fcdc..be2e7edc2 100644 --- a/apps/web/src/components/(teams)/forms/update-team-form.tsx +++ b/apps/web/src/components/(teams)/forms/update-team-form.tsx @@ -6,22 +6,14 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { Trans, msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; import { AnimatePresence, motion } from 'framer-motion'; -import { useSession } from 'next-auth/react'; import { useForm } from 'react-hook-form'; -import { match } from 'ts-pattern'; import type { z } from 'zod'; import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; -import { DocumentVisibility } from '@documenso/prisma/client'; import { trpc } from '@documenso/trpc/react'; import { ZUpdateTeamMutationSchema } from '@documenso/trpc/server/team-router/schema'; -import { - DocumentVisibilitySelect, - DocumentVisibilityTooltip, -} from '@documenso/ui/components/document/document-visibility-select'; import { Button } from '@documenso/ui/primitives/button'; -import { Checkbox } from '@documenso/ui/primitives/checkbox'; import { Form, FormControl, @@ -37,29 +29,17 @@ export type UpdateTeamDialogProps = { teamId: number; teamName: string; teamUrl: string; - documentVisibility?: DocumentVisibility; - includeSenderDetails?: boolean; }; const ZUpdateTeamFormSchema = ZUpdateTeamMutationSchema.shape.data.pick({ name: true, url: true, - documentVisibility: true, - includeSenderDetails: true, }); type TUpdateTeamFormSchema = z.infer; -export const UpdateTeamForm = ({ - teamId, - teamName, - teamUrl, - documentVisibility, - includeSenderDetails, -}: UpdateTeamDialogProps) => { +export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogProps) => { const router = useRouter(); - const { data: session } = useSession(); - const email = session?.user?.email; const { _ } = useLingui(); const { toast } = useToast(); @@ -68,36 +48,17 @@ export const UpdateTeamForm = ({ defaultValues: { name: teamName, url: teamUrl, - documentVisibility, - includeSenderDetails, }, }); const { mutateAsync: updateTeam } = trpc.team.updateTeam.useMutation(); - const includeSenderDetailsCheck = form.watch('includeSenderDetails'); - const mapVisibilityToRole = (visibility: DocumentVisibility): DocumentVisibility => - match(visibility) - .with(DocumentVisibility.ADMIN, () => DocumentVisibility.ADMIN) - .with(DocumentVisibility.MANAGER_AND_ABOVE, () => DocumentVisibility.MANAGER_AND_ABOVE) - .otherwise(() => DocumentVisibility.EVERYONE); - - const currentVisibilityRole = mapVisibilityToRole( - documentVisibility ?? DocumentVisibility.EVERYONE, - ); - const onFormSubmit = async ({ - name, - url, - documentVisibility, - includeSenderDetails, - }: TUpdateTeamFormSchema) => { + const onFormSubmit = async ({ name, url }: TUpdateTeamFormSchema) => { try { await updateTeam({ data: { name, url, - documentVisibility, - includeSenderDetails, }, teamId, }); @@ -111,8 +72,6 @@ export const UpdateTeamForm = ({ form.reset({ name, url, - documentVisibility, - includeSenderDetails, }); if (url !== teamUrl) { @@ -186,68 +145,6 @@ export const UpdateTeamForm = ({ )} /> - ( - - - Default Document Visibility - - - - - - - - - )} - /> - -
- ( - -
- - Send on Behalf of Team - - - - -
- - {includeSenderDetailsCheck ? ( -
- - "{email}" on behalf of "{teamName}" has invited you to sign "example - document". - -
- ) : ( -
- "{teamUrl}" has invited you to sign "example document". -
- )} - - -
- )} - /> -
-
{form.formState.isDirty && ( diff --git a/apps/web/src/components/forms/profile.tsx b/apps/web/src/components/forms/profile.tsx index 4d4f23b74..dee901e9f 100644 --- a/apps/web/src/components/forms/profile.tsx +++ b/apps/web/src/components/forms/profile.tsx @@ -138,6 +138,7 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => { containerClassName={cn('rounded-lg border bg-background')} defaultValue={user.signature ?? undefined} onChange={(v) => onChange(v ?? '')} + allowTypedSignature={true} /> diff --git a/package-lock.json b/package-lock.json index 687ebebf4..6fbf5bff0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11867,35 +11867,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-node/node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/acorn-walk": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", @@ -15441,14 +15412,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/degenerator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", @@ -15596,22 +15559,6 @@ "node": ">=12" } }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -24258,6 +24205,34 @@ "tslib": "^2.4.0" } }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/nextra": { "version": "2.13.4", "resolved": "https://registry.npmjs.org/nextra/-/nextra-2.13.4.tgz", @@ -26858,9 +26833,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { "type": "opencollective", @@ -26875,10 +26850,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -33323,210 +33299,6 @@ "node": ">=16.0.0" } }, - "node_modules/tw-to-css/node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "node_modules/tw-to-css/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/tw-to-css/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tw-to-css/node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/tw-to-css/node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/tw-to-css/node_modules/postcss-css-variables": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz", - "integrity": "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==", - "dependencies": { - "balanced-match": "^1.0.0", - "escape-string-regexp": "^1.0.3", - "extend": "^3.0.1" - }, - "peerDependencies": { - "postcss": "^8.2.6" - } - }, - "node_modules/tw-to-css/node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/tw-to-css/node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/tw-to-css/node_modules/postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/tw-to-css/node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tw-to-css/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tw-to-css/node_modules/tailwindcss": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", - "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", - "license": "MIT", - "dependencies": { - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "detective": "^5.2.1", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "lilconfig": "^2.0.6", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/tw-to-css/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, "node_modules/tween-functions": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz", @@ -34512,34 +34284,6 @@ "@esbuild/win32-x64": "0.19.12" } }, - "node_modules/vite/node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, "node_modules/vite/node_modules/rollup": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", @@ -36890,47 +36634,6 @@ }, "devDependencies": {} }, - "packages/tailwind-config/node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "packages/tailwind-config/node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "extraneous": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "packages/trpc": { "name": "@documenso/trpc", "version": "0.0.0", diff --git a/packages/api/v1/implementation.ts b/packages/api/v1/implementation.ts index fda6ad1a4..7338306a6 100644 --- a/packages/api/v1/implementation.ts +++ b/packages/api/v1/implementation.ts @@ -302,6 +302,7 @@ export const ApiContractV1Implementation = createNextRoute(ApiContractV1, { redirectUrl: body.meta.redirectUrl, signingOrder: body.meta.signingOrder, language: body.meta.language, + typedSignatureEnabled: body.meta.typedSignatureEnabled, requestMetadata: extractNextApiRequestMetadata(args.req), }); diff --git a/packages/api/v1/schema.ts b/packages/api/v1/schema.ts index 87e17ba8b..249d46ad7 100644 --- a/packages/api/v1/schema.ts +++ b/packages/api/v1/schema.ts @@ -3,7 +3,6 @@ import { z } from 'zod'; import { DATE_FORMATS, DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats'; import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n'; -import '@documenso/lib/constants/time-zones'; import { DEFAULT_DOCUMENT_TIME_ZONE, TIME_ZONES } from '@documenso/lib/constants/time-zones'; import { ZUrlSchema } from '@documenso/lib/schemas/common'; import { @@ -14,6 +13,7 @@ import { import { ZFieldMetaSchema } from '@documenso/lib/types/field-meta'; import { DocumentDataType, + DocumentDistributionMethod, DocumentSigningOrder, FieldType, ReadStatus, @@ -132,6 +132,7 @@ export const ZCreateDocumentMutationSchema = z.object({ redirectUrl: z.string(), signingOrder: z.nativeEnum(DocumentSigningOrder).optional(), language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), + typedSignatureEnabled: z.boolean().optional().default(true), }) .partial(), authOptions: z @@ -226,14 +227,14 @@ export type TCreateDocumentFromTemplateMutationResponseSchema = z.infer< export const ZGenerateDocumentFromTemplateMutationSchema = z.object({ title: z.string().optional(), - externalId: z.string().nullish(), + externalId: z.string().optional(), recipients: z .array( z.object({ id: z.number(), + email: z.string().email(), name: z.string().optional(), - email: z.string().email().min(1), - signingOrder: z.number().nullish(), + signingOrder: z.number().optional(), }), ) .refine( @@ -252,8 +253,10 @@ export const ZGenerateDocumentFromTemplateMutationSchema = z.object({ timezone: z.string(), dateFormat: z.string(), redirectUrl: ZUrlSchema, - signingOrder: z.nativeEnum(DocumentSigningOrder).optional(), - language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), + signingOrder: z.nativeEnum(DocumentSigningOrder), + language: z.enum(SUPPORTED_LANGUAGE_CODES), + distributionMethod: z.nativeEnum(DocumentDistributionMethod), + typedSignatureEnabled: z.boolean(), }) .partial() .optional(), diff --git a/packages/app-tests/e2e/teams/team-global-settings.spec.ts b/packages/app-tests/e2e/teams/team-global-settings.spec.ts index b8b5377a1..29e8428ab 100644 --- a/packages/app-tests/e2e/teams/team-global-settings.spec.ts +++ b/packages/app-tests/e2e/teams/team-global-settings.spec.ts @@ -17,19 +17,17 @@ test('[TEAMS]: update the default document visibility in the team global setting page, email: team.owner.email, password: 'password', - redirectPath: `/t/${team.url}/settings`, + redirectPath: `/t/${team.url}/settings/preferences`, }); - await page.getByRole('combobox').click(); + // !: Brittle selector + await page.getByRole('combobox').first().click(); await page.getByRole('option', { name: 'Admin' }).click(); - await page.getByRole('button', { name: 'Update team' }).click(); + await page.getByRole('button', { name: 'Save' }).first().click(); const toast = page.locator('li[role="status"][data-state="open"]').first(); await expect(toast).toBeVisible(); - await expect(toast.getByText('Success', { exact: true })).toBeVisible(); - await expect( - toast.getByText('Your team has been successfully updated.', { exact: true }), - ).toBeVisible(); + await expect(toast.getByText('Document preferences updated', { exact: true })).toBeVisible(); }); test('[TEAMS]: update the sender details in the team global settings', async ({ page }) => { @@ -41,7 +39,7 @@ test('[TEAMS]: update the sender details in the team global settings', async ({ page, email: team.owner.email, password: 'password', - redirectPath: `/t/${team.url}/settings`, + redirectPath: `/t/${team.url}/settings/preferences`, }); const checkbox = page.getByLabel('Send on Behalf of Team'); @@ -49,14 +47,11 @@ test('[TEAMS]: update the sender details in the team global settings', async ({ await expect(checkbox).toBeChecked(); - await page.getByRole('button', { name: 'Update team' }).click(); + await page.getByRole('button', { name: 'Save' }).first().click(); const toast = page.locator('li[role="status"][data-state="open"]').first(); await expect(toast).toBeVisible(); - await expect(toast.getByText('Success', { exact: true })).toBeVisible(); - await expect( - toast.getByText('Your team has been successfully updated.', { exact: true }), - ).toBeVisible(); + await expect(toast.getByText('Document preferences updated', { exact: true })).toBeVisible(); await expect(checkbox).toBeChecked(); }); diff --git a/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts b/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts index 344729fbe..0b39bd0b8 100644 --- a/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts +++ b/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts @@ -24,6 +24,7 @@ const SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION_SCHEMA = z.object({ brandingCompanyDetails: z.string(), brandingHidePoweredBy: z.boolean(), teamId: z.number(), + typedSignatureEnabled: z.boolean(), }) .nullish(), }), diff --git a/packages/lib/server-only/document/create-document.ts b/packages/lib/server-only/document/create-document.ts index 2d119eb7e..d9e86f2da 100644 --- a/packages/lib/server-only/document/create-document.ts +++ b/packages/lib/server-only/document/create-document.ts @@ -112,6 +112,7 @@ export const createDocument = async ({ documentMeta: { create: { language: team?.teamGlobalSettings?.documentLanguage, + typedSignatureEnabled: team?.teamGlobalSettings?.typedSignatureEnabled, }, }, }, diff --git a/packages/lib/server-only/field/sign-field-with-token.ts b/packages/lib/server-only/field/sign-field-with-token.ts index 087de646b..192c0c001 100644 --- a/packages/lib/server-only/field/sign-field-with-token.ts +++ b/packages/lib/server-only/field/sign-field-with-token.ts @@ -177,6 +177,10 @@ export const signFieldWithToken = async ({ throw new Error('Signature field must have a signature'); } + if (isSignatureField && !documentMeta?.typedSignatureEnabled && typedSignature) { + throw new Error('Typed signatures are not allowed. Please draw your signature'); + } + return await prisma.$transaction(async (tx) => { const updatedField = await tx.field.update({ where: { diff --git a/packages/lib/server-only/pdf/insert-field-in-pdf.ts b/packages/lib/server-only/pdf/insert-field-in-pdf.ts index 044fbf79c..f5c5bc0df 100644 --- a/packages/lib/server-only/pdf/insert-field-in-pdf.ts +++ b/packages/lib/server-only/pdf/insert-field-in-pdf.ts @@ -82,7 +82,10 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu const fieldX = pageWidth * (Number(field.positionX) / 100); const fieldY = pageHeight * (Number(field.positionY) / 100); - const font = await pdf.embedFont(isSignatureField ? fontCaveat : fontNoto); + const font = await pdf.embedFont( + isSignatureField ? fontCaveat : fontNoto, + isSignatureField ? { features: { calt: false } } : undefined, + ); if (field.type === FieldType.SIGNATURE || field.type === FieldType.FREE_SIGNATURE) { await pdf.embedFont(fontCaveat); @@ -92,45 +95,89 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu .with( { type: P.union(FieldType.SIGNATURE, FieldType.FREE_SIGNATURE), - Signature: { signatureImageAsBase64: P.string }, }, async (field) => { - const image = await pdf.embedPng(field.Signature?.signatureImageAsBase64 ?? ''); + if (field.Signature?.signatureImageAsBase64) { + const image = await pdf.embedPng(field.Signature?.signatureImageAsBase64 ?? ''); - let imageWidth = image.width; - let imageHeight = image.height; + let imageWidth = image.width; + let imageHeight = image.height; - const scalingFactor = Math.min(fieldWidth / imageWidth, fieldHeight / imageHeight, 1); + const scalingFactor = Math.min(fieldWidth / imageWidth, fieldHeight / imageHeight, 1); - imageWidth = imageWidth * scalingFactor; - imageHeight = imageHeight * scalingFactor; + imageWidth = imageWidth * scalingFactor; + imageHeight = imageHeight * scalingFactor; - let imageX = fieldX + (fieldWidth - imageWidth) / 2; - let imageY = fieldY + (fieldHeight - imageHeight) / 2; + let imageX = fieldX + (fieldWidth - imageWidth) / 2; + let imageY = fieldY + (fieldHeight - imageHeight) / 2; - // Invert the Y axis since PDFs use a bottom-left coordinate system - imageY = pageHeight - imageY - imageHeight; + // Invert the Y axis since PDFs use a bottom-left coordinate system + imageY = pageHeight - imageY - imageHeight; - if (pageRotationInDegrees !== 0) { - const adjustedPosition = adjustPositionForRotation( - pageWidth, - pageHeight, - imageX, - imageY, - pageRotationInDegrees, - ); + if (pageRotationInDegrees !== 0) { + const adjustedPosition = adjustPositionForRotation( + pageWidth, + pageHeight, + imageX, + imageY, + pageRotationInDegrees, + ); - imageX = adjustedPosition.xPos; - imageY = adjustedPosition.yPos; + imageX = adjustedPosition.xPos; + imageY = adjustedPosition.yPos; + } + + page.drawImage(image, { + x: imageX, + y: imageY, + width: imageWidth, + height: imageHeight, + rotate: degrees(pageRotationInDegrees), + }); + } else { + const signatureText = field.Signature?.typedSignature ?? ''; + + const longestLineInTextForWidth = signatureText + .split('\n') + .sort((a, b) => b.length - a.length)[0]; + + let fontSize = maxFontSize; + let textWidth = font.widthOfTextAtSize(longestLineInTextForWidth, fontSize); + let textHeight = font.heightAtSize(fontSize); + + const scalingFactor = Math.min(fieldWidth / textWidth, fieldHeight / textHeight, 1); + fontSize = Math.max(Math.min(fontSize * scalingFactor, maxFontSize), minFontSize); + + textWidth = font.widthOfTextAtSize(longestLineInTextForWidth, fontSize); + textHeight = font.heightAtSize(fontSize); + + let textX = fieldX + (fieldWidth - textWidth) / 2; + let textY = fieldY + (fieldHeight - textHeight) / 2; + + // Invert the Y axis since PDFs use a bottom-left coordinate system + textY = pageHeight - textY - textHeight; + + if (pageRotationInDegrees !== 0) { + const adjustedPosition = adjustPositionForRotation( + pageWidth, + pageHeight, + textX, + textY, + pageRotationInDegrees, + ); + + textX = adjustedPosition.xPos; + textY = adjustedPosition.yPos; + } + + page.drawText(signatureText, { + x: textX, + y: textY, + size: fontSize, + font, + rotate: degrees(pageRotationInDegrees), + }); } - - page.drawImage(image, { - x: imageX, - y: imageY, - width: imageWidth, - height: imageHeight, - rotate: degrees(pageRotationInDegrees), - }); }, ) .with({ type: FieldType.CHECKBOX }, (field) => { diff --git a/packages/lib/server-only/team/update-team-document-settings.ts b/packages/lib/server-only/team/update-team-document-settings.ts index ddd27e67c..e35e8e9b5 100644 --- a/packages/lib/server-only/team/update-team-document-settings.ts +++ b/packages/lib/server-only/team/update-team-document-settings.ts @@ -12,6 +12,7 @@ export type UpdateTeamDocumentSettingsOptions = { documentVisibility: DocumentVisibility; documentLanguage: SupportedLanguageCodes; includeSenderDetails: boolean; + typedSignatureEnabled: boolean; includeSigningCertificate: boolean; }; }; @@ -21,8 +22,13 @@ export const updateTeamDocumentSettings = async ({ teamId, settings, }: UpdateTeamDocumentSettingsOptions) => { - const { documentVisibility, documentLanguage, includeSenderDetails, includeSigningCertificate } = - settings; + const { + documentVisibility, + documentLanguage, + includeSenderDetails, + includeSigningCertificate, + typedSignatureEnabled, + } = settings; const member = await prisma.teamMember.findFirst({ where: { @@ -44,12 +50,14 @@ export const updateTeamDocumentSettings = async ({ documentVisibility, documentLanguage, includeSenderDetails, + typedSignatureEnabled, includeSigningCertificate, }, update: { documentVisibility, documentLanguage, includeSenderDetails, + typedSignatureEnabled, includeSigningCertificate, }, }); diff --git a/packages/lib/server-only/team/update-team.ts b/packages/lib/server-only/team/update-team.ts index 02f3b57ab..b172d3359 100644 --- a/packages/lib/server-only/team/update-team.ts +++ b/packages/lib/server-only/team/update-team.ts @@ -4,7 +4,6 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { prisma } from '@documenso/prisma'; import { Prisma } from '@documenso/prisma/client'; -import type { DocumentVisibility } from '@documenso/prisma/client'; export type UpdateTeamOptions = { userId: number; @@ -12,8 +11,6 @@ export type UpdateTeamOptions = { data: { name?: string; url?: string; - documentVisibility?: DocumentVisibility; - includeSenderDetails?: boolean; }; }; @@ -45,18 +42,6 @@ export const updateTeam = async ({ userId, teamId, data }: UpdateTeamOptions) => data: { url: data.url, name: data.name, - teamGlobalSettings: { - upsert: { - create: { - documentVisibility: data.documentVisibility, - includeSenderDetails: data.includeSenderDetails, - }, - update: { - documentVisibility: data.documentVisibility, - includeSenderDetails: data.includeSenderDetails, - }, - }, - }, }, }); diff --git a/packages/lib/server-only/template/create-document-from-template.ts b/packages/lib/server-only/template/create-document-from-template.ts index 4b010a409..72418bcab 100644 --- a/packages/lib/server-only/template/create-document-from-template.ts +++ b/packages/lib/server-only/template/create-document-from-template.ts @@ -64,6 +64,7 @@ export type CreateDocumentFromTemplateOptions = { signingOrder?: DocumentSigningOrder; language?: SupportedLanguageCodes; distributionMethod?: DocumentDistributionMethod; + typedSignatureEnabled?: boolean; }; requestMetadata?: RequestMetadata; }; @@ -146,7 +147,7 @@ export const createDocumentFromTemplate = async ({ return { templateRecipientId: templateRecipient.id, fields: templateRecipient.Field, - name: foundRecipient ? foundRecipient.name ?? '' : templateRecipient.name, + name: foundRecipient ? (foundRecipient.name ?? '') : templateRecipient.name, email: foundRecipient ? foundRecipient.email : templateRecipient.email, role: templateRecipient.role, signingOrder: foundRecipient?.signingOrder ?? templateRecipient.signingOrder, @@ -196,6 +197,8 @@ export const createDocumentFromTemplate = async ({ override?.language || template.templateMeta?.language || template.team?.teamGlobalSettings?.documentLanguage, + typedSignatureEnabled: + override?.typedSignatureEnabled ?? template.templateMeta?.typedSignatureEnabled, }, }, Recipient: { diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index adce10d0f..6b86e59bf 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -444,7 +444,7 @@ msgid "Advanced Options" msgstr "Erweiterte Optionen" #: packages/ui/primitives/document-flow/add-fields.tsx:576 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:409 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:414 msgid "Advanced settings" msgstr "Erweiterte Einstellungen" @@ -500,11 +500,11 @@ msgstr "Genehmigung" msgid "Before you get started, please confirm your email address by clicking the button below:" msgstr "Bitte bestätige vor dem Start deine E-Mail-Adresse, indem du auf den Button unten klickst:" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:377 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:383 msgid "Black" msgstr "Schwarz" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:391 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:397 msgid "Blue" msgstr "Blau" @@ -562,7 +562,7 @@ msgstr "Checkbox-Werte" msgid "Clear filters" msgstr "Filter löschen" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:411 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:417 msgid "Clear Signature" msgstr "Unterschrift löschen" @@ -590,7 +590,7 @@ msgid "Configure Direct Recipient" msgstr "Direkten Empfänger konfigurieren" #: packages/ui/primitives/document-flow/add-fields.tsx:577 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:410 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 msgid "Configure the {0} field" msgstr "Konfigurieren Sie das Feld {0}" @@ -653,7 +653,7 @@ msgstr "Benutzerdefinierter Text" #: packages/ui/primitives/document-flow/add-fields.tsx:934 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:697 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:729 msgid "Date" msgstr "Datum" @@ -793,7 +793,7 @@ msgid "Drag & drop your PDF here." msgstr "Ziehen Sie Ihr PDF hierher." #: packages/ui/primitives/document-flow/add-fields.tsx:1065 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:827 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:860 msgid "Dropdown" msgstr "Dropdown" @@ -807,7 +807,7 @@ msgstr "Dropdown-Optionen" #: packages/ui/primitives/document-flow/add-signers.tsx:512 #: packages/ui/primitives/document-flow/add-signers.tsx:519 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:645 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:677 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478 msgid "Email" @@ -843,6 +843,7 @@ msgid "Enable signing order" msgstr "Aktiviere die Signaturreihenfolge" #: packages/ui/primitives/document-flow/add-fields.tsx:802 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:597 msgid "Enable Typed Signatures" msgstr "Aktivieren Sie getippte Unterschriften" @@ -930,7 +931,7 @@ msgstr "Globale Empfängerauthentifizierung" msgid "Go Back" msgstr "Zurück" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:398 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:404 msgid "Green" msgstr "Grün" @@ -1025,7 +1026,7 @@ msgstr "Min" #: packages/ui/primitives/document-flow/add-signers.tsx:550 #: packages/ui/primitives/document-flow/add-signers.tsx:556 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:671 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:703 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512 msgid "Name" @@ -1044,7 +1045,7 @@ msgid "Needs to view" msgstr "Muss sehen" #: packages/ui/primitives/document-flow/add-fields.tsx:693 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:511 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:516 msgid "No recipient matching this description was found." msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden." @@ -1053,7 +1054,7 @@ msgid "No recipients" msgstr "Keine Empfänger" #: packages/ui/primitives/document-flow/add-fields.tsx:708 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:526 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:531 msgid "No recipients with this role" msgstr "Keine Empfänger mit dieser Rolle" @@ -1083,7 +1084,7 @@ msgstr "Keine" #: packages/ui/primitives/document-flow/add-fields.tsx:986 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:749 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:781 msgid "Number" msgstr "Nummer" @@ -1175,7 +1176,6 @@ 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:775 msgid "Radio" msgstr "Radio" @@ -1218,7 +1218,7 @@ msgstr "E-Mail des entfernten Empfängers" msgid "Recipient signing request email" msgstr "E-Mail zur Unterzeichnungsanfrage des Empfängers" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:384 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:390 msgid "Red" msgstr "Rot" @@ -1287,7 +1287,7 @@ msgstr "Zeilen pro Seite" msgid "Save" msgstr "Speichern" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:861 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:893 msgid "Save Template" msgstr "Vorlage speichern" @@ -1380,7 +1380,7 @@ msgstr "Anmelden" #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:593 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:625 msgid "Signature" msgstr "Unterschrift" @@ -1465,7 +1465,7 @@ msgstr "Vorlagentitel" #: packages/ui/primitives/document-flow/add-fields.tsx:960 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:723 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:755 msgid "Text" msgstr "Text" @@ -1629,7 +1629,7 @@ msgid "Title" msgstr "Titel" #: packages/ui/primitives/document-flow/add-fields.tsx:1080 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:841 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:873 msgid "To proceed further, please set at least one value for the {0} field." msgstr "Um fortzufahren, legen Sie bitte mindestens einen Wert für das Feld {0} fest." diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index be69a5419..dc368ef04 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -18,7 +18,7 @@ msgstr "" "X-Crowdin-File: web.po\n" "X-Crowdin-File-ID: 8\n" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:222 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231 msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "\"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben." @@ -31,8 +31,8 @@ msgid "\"{documentTitle}\" has been successfully deleted" msgstr "\"{documentTitle}\" wurde erfolgreich gelöscht" #: apps/web/src/components/(teams)/forms/update-team-form.tsx:234 -msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." -msgstr "\"{email}\" im Namen von \"{teamName}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben." +#~ msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." +#~ msgstr "\"{email}\" im Namen von \"{teamName}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209 #~ msgid "" @@ -42,13 +42,13 @@ msgstr "\"{email}\" im Namen von \"{teamName}\" hat Sie eingeladen, \"Beispieldo #~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n" #~ "document\"." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:217 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226 msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterzeichnen." #: apps/web/src/components/(teams)/forms/update-team-form.tsx:241 -msgid "\"{teamUrl}\" has invited you to sign \"example document\"." -msgstr "\"{teamUrl}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben." +#~ 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:80 msgid "({0}) has invited you to approve this document" @@ -240,7 +240,7 @@ msgid "A unique URL to access your profile" msgstr "Eine eindeutige URL, um auf dein Profil zuzugreifen" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138 msgid "A unique URL to identify your team" msgstr "Eine eindeutige URL, um dein Team zu identifizieren" @@ -296,7 +296,7 @@ msgstr "Aktion" msgid "Actions" msgstr "Aktionen" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101 #: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76 #: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71 msgid "Active" @@ -472,9 +472,12 @@ msgstr "Eine E-Mail, in der die Übertragung dieses Teams angefordert wird, wurd msgid "An error occurred" msgstr "Ein Fehler ist aufgetreten" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257 +msgid "An error occurred while adding fields." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218 msgid "An error occurred while adding signers." msgstr "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden." @@ -536,7 +539,7 @@ msgstr "Ein Fehler ist beim Entfernen des Feldes aufgetreten." #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190 msgid "An error occurred while removing the signature." msgstr "Ein Fehler ist aufgetreten, während die Unterschrift entfernt wurde." @@ -560,7 +563,7 @@ msgstr "Beim Senden Ihrer Bestätigungs-E-Mail ist ein Fehler aufgetreten" #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:147 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 msgid "An error occurred while signing the document." msgstr "Ein Fehler ist aufgetreten, während das Dokument unterzeichnet wurde." @@ -570,7 +573,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "Ein Fehler ist aufgetreten, während versucht wurde, eine Checkout-Sitzung zu erstellen." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187 msgid "An error occurred while updating the document settings." msgstr "Ein Fehler ist aufgetreten, während die Dokumenteinstellungen aktualisiert wurden." @@ -608,7 +611,7 @@ msgstr "Ein Fehler ist aufgetreten, während dein Dokument hochgeladen wurde." #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93 #: apps/web/src/components/forms/avatar-image.tsx:94 #: apps/web/src/components/forms/avatar-image.tsx:122 #: apps/web/src/components/forms/password.tsx:84 @@ -725,7 +728,7 @@ msgstr "Avatar" msgid "Avatar Updated" msgstr "Avatar aktualisiert" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121 msgid "Awaiting email confirmation" msgstr "Warte auf E-Mail-Bestätigung" @@ -833,7 +836,7 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 @@ -926,8 +929,8 @@ msgstr "Klicken Sie, um den Signatur-Link zu kopieren, um ihn an den Empfänger #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335 msgid "Click to insert field" msgstr "Klicken Sie, um das Feld einzufügen" @@ -945,8 +948,8 @@ msgid "Close" msgstr "Schließen" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Vollständig" @@ -1045,19 +1048,23 @@ msgstr "Fortfahren" msgid "Continue to login" msgstr "Weiter zum Login" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:181 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188 msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients." msgstr "Steuert die Standardsprache eines hochgeladenen Dokuments. Diese wird als Sprache in der E-Mail-Kommunikation mit den Empfängern verwendet." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:149 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154 msgid "Controls the default visibility of an uploaded document." msgstr "Steuert die Standard-sichtbarkeit eines hochgeladenen Dokuments." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237 msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead." msgstr "Steuert das Format der Nachricht, die gesendet wird, wenn ein Empfänger eingeladen wird, ein Dokument zu unterschreiben. Wenn eine benutzerdefinierte Nachricht beim Konfigurieren des Dokuments bereitgestellt wurde, wird diese stattdessen verwendet." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:259 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270 +msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally." +msgstr "" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301 msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately." msgstr "" @@ -1251,12 +1258,11 @@ msgstr "Ablehnen" msgid "Declined team invitation" msgstr "Team-Einladung abgelehnt" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:161 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168 msgid "Default Document Language" msgstr "Standardsprache des Dokuments" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:125 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130 msgid "Default Document Visibility" msgstr "Standard Sichtbarkeit des Dokuments" @@ -1317,7 +1323,7 @@ msgstr "Dokument löschen" msgid "Delete passkey" msgstr "Passkey löschen" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118 msgid "Delete team" msgstr "Team löschen" @@ -1356,7 +1362,7 @@ msgid "Details" msgstr "Einzelheiten" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242 msgid "Device" msgstr "Gerät" @@ -1467,7 +1473,7 @@ msgstr "Dokument abgebrochen" msgid "Document completed" msgstr "Dokument abgeschlossen" -#: apps/web/src/app/embed/completed.tsx:16 +#: apps/web/src/app/embed/completed.tsx:17 msgid "Document Completed!" msgstr "Dokument abgeschlossen!" @@ -1531,7 +1537,7 @@ msgstr "Dokument steht nicht mehr zur Unterschrift zur Verfügung" msgid "Document pending" msgstr "Dokument ausstehend" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:99 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103 msgid "Document preferences updated" msgstr "Dokumentpräferenzen aktualisiert" @@ -1603,7 +1609,7 @@ msgstr "Dokument wird dauerhaft gelöscht" msgid "Documents" msgstr "Dokumente" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194 msgid "Documents created from template" msgstr "Dokumente erstellt aus Vorlage" @@ -1684,7 +1690,7 @@ msgstr "Duplizieren" msgid "Edit" msgstr "Bearbeiten" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114 msgid "Edit Template" msgstr "Vorlage bearbeiten" @@ -1710,8 +1716,8 @@ msgstr "Offenlegung der elektronischen Unterschrift" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1772,6 +1778,10 @@ msgstr "Direktlinksignierung aktivieren" msgid "Enable Direct Link Signing" msgstr "Direktlinksignierung aktivieren" +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255 +msgid "Enable Typed Signature" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:123 #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:138 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74 @@ -1818,9 +1828,9 @@ msgstr "Geben Sie hier Ihren Text ein" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:186 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256 #: 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 @@ -1842,8 +1852,9 @@ msgstr "Geben Sie hier Ihren Text ein" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:146 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:129 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 @@ -1855,7 +1866,7 @@ msgstr "Fehler" #~ msgid "Error updating global team settings" #~ msgstr "Error updating global team settings" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:136 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141 msgid "Everyone can access and view the document" msgstr "Jeder kann auf das Dokument zugreifen und es anzeigen" @@ -1871,7 +1882,7 @@ msgstr "Alle haben unterschrieben! Sie werden eine E-Mail-Kopie des unterzeichne msgid "Exceeded timeout" msgstr "Zeitüberschreitung überschritten" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114 msgid "Expired" msgstr "Abgelaufen" @@ -1913,8 +1924,8 @@ msgstr "Haben Sie Ihr Passwort vergessen?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2036,7 +2047,7 @@ msgstr "Posteingang Dokumente" #~ msgid "Include Sender Details" #~ msgstr "Include Sender Details" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:244 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286 msgid "Include the Signing Certificate in the Document" msgstr "" @@ -2116,7 +2127,7 @@ msgid "Invoice" msgstr "Rechnung" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235 msgid "IP Address" msgstr "IP-Adresse" @@ -2256,7 +2267,7 @@ msgstr "Verwalten Sie das Profil von {0}" msgid "Manage all teams you are currently associated with." msgstr "Verwalten Sie alle Teams, mit denen Sie derzeit verbunden sind." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158 msgid "Manage and view template" msgstr "Vorlage verwalten und anzeigen" @@ -2423,8 +2434,8 @@ msgstr "Neuer Teamowner" msgid "New Template" msgstr "Neue Vorlage" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Nächster" @@ -2531,11 +2542,11 @@ msgstr "Sobald dies bestätigt ist, wird Folgendes geschehen:" msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below." msgstr "Sobald Sie den QR-Code gescannt oder den Code manuell eingegeben haben, geben Sie den von Ihrer Authentifizierungs-App bereitgestellten Code unten ein." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:142 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147 msgid "Only admins can access and view the document" msgstr "Nur Administratoren können auf das Dokument zugreifen und es anzeigen" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:139 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144 msgid "Only managers and above can access and view the document" msgstr "Nur Manager und darüber können auf das Dokument zugreifen und es anzeigen" @@ -2781,7 +2792,7 @@ msgstr "Bitte geben Sie <0>{0} ein, um zu bestätigen." msgid "Preferences" msgstr "Einstellungen" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:212 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221 msgid "Preview" msgstr "Vorschau" @@ -2859,7 +2870,7 @@ msgstr "Lesen Sie die vollständige <0>Offenlegung der Unterschrift." msgid "Ready" msgstr "Bereit" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289 msgid "Reason" msgstr "Grund" @@ -2986,7 +2997,7 @@ msgstr "Bestätigungs-E-Mail erneut senden" msgid "Resend verification" msgstr "Bestätigung erneut senden" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163 #: apps/web/src/components/forms/public-profile-form.tsx:267 msgid "Reset" msgstr "Zurücksetzen" @@ -3067,7 +3078,7 @@ msgstr "Rollen" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:271 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313 msgid "Save" msgstr "Speichern" @@ -3142,8 +3153,7 @@ msgstr "Bestätigungs-E-Mail senden" msgid "Send document" msgstr "Dokument senden" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205 msgid "Send on Behalf of Team" msgstr "Im Namen des Teams senden" @@ -3164,7 +3174,7 @@ msgid "Sending..." msgstr "Senden..." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256 msgid "Sent" msgstr "Gesendet" @@ -3217,13 +3227,13 @@ msgstr "Vorlagen in Ihrem Team-Öffentliches Profil anzeigen, damit Ihre Zielgru #: 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 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:256 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 #: apps/web/src/components/ui/user-profile-timur.tsx:81 msgid "Sign" msgstr "Unterzeichnen" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274 msgid "Sign as {0} <0>({1})" msgstr "Unterzeichnen als {0} <0>({1})" @@ -3231,8 +3241,8 @@ msgstr "Unterzeichnen als {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Unterzeichnen als<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226 msgid "Sign document" msgstr "Dokument unterschreiben" @@ -3264,8 +3274,8 @@ msgstr "Melden Sie sich bei Ihrem Konto an" msgid "Sign Out" msgstr "Ausloggen" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247 msgid "Sign the document to complete the process." msgstr "Unterschreiben Sie das Dokument, um den Vorgang abzuschließen." @@ -3291,15 +3301,15 @@ msgstr "Registrieren mit OIDC" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:247 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Unterschrift" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228 msgid "Signature ID" msgstr "Signatur-ID" @@ -3312,7 +3322,7 @@ msgid "Signatures will appear once the document has been completed" msgstr "Unterschriften erscheinen, sobald das Dokument abgeschlossen ist" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278 #: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Unterzeichnet" @@ -3325,7 +3335,7 @@ msgstr "Signer-Ereignisse" msgid "Signing Certificate" msgstr "Unterzeichnungszertifikat" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311 msgid "Signing certificate provided by" msgstr "Unterzeichnungszertifikat bereitgestellt von" @@ -3389,8 +3399,8 @@ msgstr "Website Einstellungen" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39 #: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210 @@ -3423,7 +3433,7 @@ msgstr "Etwas ist schiefgelaufen beim Senden der Bestätigungs-E-Mail." msgid "Something went wrong while updating the team billing subscription, please contact support." msgstr "Etwas ist schiefgelaufen beim Aktualisieren des Abonnements für die Team-Zahlung. Bitte kontaktieren Sie den Support." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108 msgid "Something went wrong!" msgstr "Etwas ist schiefgelaufen!" @@ -3491,7 +3501,7 @@ msgstr "Abonnements" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79 @@ -3522,8 +3532,8 @@ msgstr "Team" msgid "Team checkout" msgstr "Teameinkaufs-Prüfung" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140 msgid "Team email" msgstr "Team E-Mail" @@ -3566,7 +3576,7 @@ msgid "Team Member" msgstr "Teammitglied" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112 msgid "Team Name" msgstr "Teamname" @@ -3619,7 +3629,7 @@ msgid "Team transfer request expired" msgstr "Der Antrag auf Teamübertragung ist abgelaufen" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128 msgid "Team URL" msgstr "Team-URL" @@ -3639,7 +3649,7 @@ msgstr "Teams beschränkt" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3669,11 +3679,11 @@ msgstr "Vorlage wurde aktualisiert." msgid "Template moved" msgstr "Vorlage verschoben" -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246 msgid "Template saved" msgstr "Vorlage gespeichert" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3716,7 +3726,7 @@ msgstr "Der direkte Linkt wurde in die Zwischenablage kopiert" msgid "The document has been successfully moved to the selected team." msgstr "Das Dokument wurde erfolgreich in das ausgewählte Team verschoben." -#: apps/web/src/app/embed/completed.tsx:29 +#: apps/web/src/app/embed/completed.tsx:30 msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "Das Dokument ist jetzt abgeschlossen. Bitte folgen Sie allen Anweisungen, die in der übergeordneten Anwendung bereitgestellt werden." @@ -3925,7 +3935,7 @@ msgstr "Dieser Preis beinhaltet mindestens 5 Plätze." msgid "This session has expired. Please try again." msgstr "Diese Sitzung ist abgelaufen. Bitte versuchen Sie es erneut." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195 msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Dieses Team und alle zugehörigen Daten, ausgenommen Rechnungen, werden permanent gelöscht." @@ -3942,7 +3952,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new msgstr "Dieser Token ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team für eine neue Einladung." #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86 msgid "This URL is already in use." msgstr "Diese URL wird bereits verwendet." @@ -4075,13 +4085,13 @@ msgstr "übertragen {teamName}" msgid "Transfer ownership of this team to a selected team member." msgstr "Übertragen Sie die Inhaberschaft dieses Teams auf ein ausgewähltes Teammitglied." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156 msgid "Transfer team" msgstr "Team übertragen" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173 msgid "Transfer the ownership of the team to another team member." msgstr "Übertragen Sie das Eigentum des Teams auf ein anderes Teammitglied." @@ -4132,6 +4142,10 @@ msgstr "Typ" msgid "Type a command or search..." msgstr "Geben Sie einen Befehl ein oder suchen Sie..." +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130 +msgid "Typed signatures are not allowed. Please draw your signature." +msgstr "" + #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "Oh oh! Es sieht so aus, als fehlt Ihnen ein Token" @@ -4224,10 +4238,10 @@ msgstr "Nicht autorisiert" msgid "Uncompleted" msgstr "Unvollendet" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284 msgid "Unknown" msgstr "Unbekannt" @@ -4260,7 +4274,7 @@ msgstr "Passkey aktualisieren" msgid "Update password" msgstr "Passwort aktualisieren" -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Update profile" msgstr "Profil aktualisieren" @@ -4272,7 +4286,7 @@ msgstr "Empfänger aktualisieren" msgid "Update role" msgstr "Rolle aktualisieren" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175 msgid "Update team" msgstr "Team aktualisieren" @@ -4299,7 +4313,7 @@ msgstr "Webhook aktualisieren" msgid "Updating password..." msgstr "Passwort wird aktualisiert..." -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Updating profile..." msgstr "Profil wird aktualisiert..." @@ -4332,7 +4346,7 @@ msgstr "Die hochgeladene Datei ist zu klein" msgid "Uploaded file not an allowed file type" msgstr "Die hochgeladene Datei ist kein zulässiger Dateityp" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169 msgid "Use" msgstr "Verwenden" @@ -4440,7 +4454,7 @@ msgstr "Codes ansehen" msgid "View Document" msgstr "Dokument anzeigen" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "Dokumente ansehen, die mit dieser E-Mail verknüpft sind" @@ -4466,7 +4480,7 @@ msgid "View teams" msgstr "Teams ansehen" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267 msgid "Viewed" msgstr "Angesehen" @@ -4626,7 +4640,7 @@ msgstr "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht h msgid "We encountered an unknown error while attempting to update your public profile. Please try again later." msgstr "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht haben, Ihr öffentliches Profil zu aktualisieren. Bitte versuchen Sie es später erneut." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95 msgid "We encountered an unknown error while attempting to update your team. Please try again later." msgstr "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht haben, Ihr Team zu aktualisieren. Bitte versuchen Sie es später erneut." @@ -4669,8 +4683,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas msgstr "Wir konnten die Zwei-Faktor-Authentifizierung für Ihr Konto nicht einrichten. Bitte stellen Sie sicher, dass Sie den Code korrekt eingegeben haben und versuchen Sie es erneut." #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132 msgid "We were unable to submit this document at this time. Please try again later." msgstr "Wir konnten dieses Dokument zurzeit nicht einreichen. Bitte versuchen Sie es später erneut." @@ -4678,7 +4692,7 @@ msgstr "Wir konnten dieses Dokument zurzeit nicht einreichen. Bitte versuchen Si msgid "We were unable to update your branding preferences at this time, please try again later" msgstr "Wir konnten Ihre Markenpräferenzen zu diesem Zeitpunkt nicht aktualisieren, bitte versuchen Sie es später noch einmal" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:106 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110 msgid "We were unable to update your document preferences at this time, please try again later" msgstr "Wir konnten Ihre Dokumentpräferenzen zu diesem Zeitpunkt nicht aktualisieren, bitte versuchen Sie es später noch einmal" @@ -4863,7 +4877,7 @@ msgstr "Sie können diese Links kopieren und mit den Empfängern teilen, damit s msgid "You can update the profile URL by updating the team URL in the general settings page." msgstr "Sie können die Profil-URL aktualisieren, indem Sie die Team-URL auf der Seite mit den allgemeinen Einstellungen aktualisieren." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65 msgid "You can view documents associated with this email and use this identity when sending documents." msgstr "Sie können Dokumente ansehen, die mit dieser E-Mail verknüpft sind, und diese Identität beim Senden von Dokumenten verwenden." @@ -5061,7 +5075,7 @@ msgstr "Ihr Dokument wurde erfolgreich hochgeladen." msgid "Your document has been uploaded successfully. You will be redirected to the template page." msgstr "Ihr Dokument wurde erfolgreich hochgeladen. Sie werden zur Vorlagenseite weitergeleitet." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:100 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 msgid "Your document preferences have been updated" msgstr "Ihre Dokumentpräferenzen wurden aktualisiert" @@ -5128,7 +5142,7 @@ msgstr "Ihr Team wurde erstellt." msgid "Your team has been successfully deleted." msgstr "Ihr Team wurde erfolgreich gelöscht." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68 msgid "Your team has been successfully updated." msgstr "Ihr Team wurde erfolgreich aktualisiert." @@ -5144,7 +5158,7 @@ msgstr "Ihre Vorlage wurde erfolgreich gelöscht." msgid "Your template will be duplicated." msgstr "Ihre Vorlage wird dupliziert." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247 msgid "Your templates has been saved successfully." msgstr "Ihre Vorlagen wurden erfolgreich gespeichert." diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index 612bd5827..778e64247 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -439,7 +439,7 @@ msgid "Advanced Options" msgstr "Advanced Options" #: packages/ui/primitives/document-flow/add-fields.tsx:576 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:409 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:414 msgid "Advanced settings" msgstr "Advanced settings" @@ -495,11 +495,11 @@ msgstr "Approving" msgid "Before you get started, please confirm your email address by clicking the button below:" msgstr "Before you get started, please confirm your email address by clicking the button below:" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:377 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:383 msgid "Black" msgstr "Black" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:391 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:397 msgid "Blue" msgstr "Blue" @@ -557,7 +557,7 @@ msgstr "Checkbox values" msgid "Clear filters" msgstr "Clear filters" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:411 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:417 msgid "Clear Signature" msgstr "Clear Signature" @@ -585,7 +585,7 @@ msgid "Configure Direct Recipient" msgstr "Configure Direct Recipient" #: packages/ui/primitives/document-flow/add-fields.tsx:577 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:410 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 msgid "Configure the {0} field" msgstr "Configure the {0} field" @@ -648,7 +648,7 @@ msgstr "Custom Text" #: packages/ui/primitives/document-flow/add-fields.tsx:934 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:697 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:729 msgid "Date" msgstr "Date" @@ -788,7 +788,7 @@ msgid "Drag & drop your PDF here." msgstr "Drag & drop your PDF here." #: packages/ui/primitives/document-flow/add-fields.tsx:1065 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:827 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:860 msgid "Dropdown" msgstr "Dropdown" @@ -802,7 +802,7 @@ msgstr "Dropdown options" #: packages/ui/primitives/document-flow/add-signers.tsx:512 #: packages/ui/primitives/document-flow/add-signers.tsx:519 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:645 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:677 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478 msgid "Email" @@ -838,6 +838,7 @@ msgid "Enable signing order" msgstr "Enable signing order" #: packages/ui/primitives/document-flow/add-fields.tsx:802 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:597 msgid "Enable Typed Signatures" msgstr "Enable Typed Signatures" @@ -925,7 +926,7 @@ msgstr "Global recipient action authentication" msgid "Go Back" msgstr "Go Back" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:398 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:404 msgid "Green" msgstr "Green" @@ -1020,7 +1021,7 @@ msgstr "Min" #: packages/ui/primitives/document-flow/add-signers.tsx:550 #: packages/ui/primitives/document-flow/add-signers.tsx:556 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:671 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:703 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512 msgid "Name" @@ -1039,7 +1040,7 @@ msgid "Needs to view" msgstr "Needs to view" #: packages/ui/primitives/document-flow/add-fields.tsx:693 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:511 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:516 msgid "No recipient matching this description was found." msgstr "No recipient matching this description was found." @@ -1048,7 +1049,7 @@ msgid "No recipients" msgstr "No recipients" #: packages/ui/primitives/document-flow/add-fields.tsx:708 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:526 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:531 msgid "No recipients with this role" msgstr "No recipients with this role" @@ -1078,7 +1079,7 @@ msgstr "None" #: packages/ui/primitives/document-flow/add-fields.tsx:986 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:749 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:781 msgid "Number" msgstr "Number" @@ -1170,7 +1171,6 @@ msgid "Please try again or contact our support." msgstr "Please try again or contact our support." #: packages/ui/primitives/document-flow/types.ts:57 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:775 msgid "Radio" msgstr "Radio" @@ -1213,7 +1213,7 @@ msgstr "Recipient removed email" msgid "Recipient signing request email" msgstr "Recipient signing request email" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:384 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:390 msgid "Red" msgstr "Red" @@ -1282,7 +1282,7 @@ msgstr "Rows per page" msgid "Save" msgstr "Save" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:861 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:893 msgid "Save Template" msgstr "Save Template" @@ -1375,7 +1375,7 @@ msgstr "Sign In" #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:593 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:625 msgid "Signature" msgstr "Signature" @@ -1460,7 +1460,7 @@ msgstr "Template title" #: packages/ui/primitives/document-flow/add-fields.tsx:960 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:723 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:755 msgid "Text" msgstr "Text" @@ -1624,7 +1624,7 @@ msgid "Title" msgstr "Title" #: packages/ui/primitives/document-flow/add-fields.tsx:1080 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:841 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:873 msgid "To proceed further, please set at least one value for the {0} field." msgstr "To proceed further, please set at least one value for the {0} field." diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 40e9c1aa5..b99b3cf98 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -13,7 +13,7 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:222 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231 msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "\"{0}\" has invited you to sign \"example document\"." @@ -26,8 +26,8 @@ msgid "\"{documentTitle}\" has been successfully deleted" msgstr "\"{documentTitle}\" has been successfully deleted" #: apps/web/src/components/(teams)/forms/update-team-form.tsx:234 -msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." -msgstr "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." +#~ msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." +#~ msgstr "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209 #~ msgid "" @@ -37,13 +37,13 @@ msgstr "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"exampl #~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n" #~ "document\"." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:217 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226 msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." #: apps/web/src/components/(teams)/forms/update-team-form.tsx:241 -msgid "\"{teamUrl}\" has invited you to sign \"example document\"." -msgstr "\"{teamUrl}\" has invited you to sign \"example document\"." +#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"." +#~ msgstr "\"{teamUrl}\" has invited you to sign \"example document\"." #: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80 msgid "({0}) has invited you to approve this document" @@ -235,7 +235,7 @@ msgid "A unique URL to access your profile" msgstr "A unique URL to access your profile" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138 msgid "A unique URL to identify your team" msgstr "A unique URL to identify your team" @@ -291,7 +291,7 @@ msgstr "Action" msgid "Actions" msgstr "Actions" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101 #: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76 #: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71 msgid "Active" @@ -467,9 +467,12 @@ msgstr "An email requesting the transfer of this team has been sent." msgid "An error occurred" msgstr "An error occurred" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257 +msgid "An error occurred while adding fields." +msgstr "An error occurred while adding fields." + #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218 msgid "An error occurred while adding signers." msgstr "An error occurred while adding signers." @@ -531,7 +534,7 @@ msgstr "An error occurred while removing the field." #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190 msgid "An error occurred while removing the signature." msgstr "An error occurred while removing the signature." @@ -555,7 +558,7 @@ msgstr "An error occurred while sending your confirmation email" #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:147 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 msgid "An error occurred while signing the document." msgstr "An error occurred while signing the document." @@ -565,7 +568,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "An error occurred while trying to create a checkout session." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187 msgid "An error occurred while updating the document settings." msgstr "An error occurred while updating the document settings." @@ -603,7 +606,7 @@ msgstr "An error occurred while uploading your document." #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93 #: apps/web/src/components/forms/avatar-image.tsx:94 #: apps/web/src/components/forms/avatar-image.tsx:122 #: apps/web/src/components/forms/password.tsx:84 @@ -720,7 +723,7 @@ msgstr "Avatar" msgid "Avatar Updated" msgstr "Avatar Updated" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121 msgid "Awaiting email confirmation" msgstr "Awaiting email confirmation" @@ -828,7 +831,7 @@ msgstr "By using the electronic signature feature, you are consenting to conduct #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 @@ -921,8 +924,8 @@ msgstr "Click to copy signing link for sending to recipient" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335 msgid "Click to insert field" msgstr "Click to insert field" @@ -940,8 +943,8 @@ msgid "Close" msgstr "Close" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Complete" @@ -1040,19 +1043,23 @@ msgstr "Continue" msgid "Continue to login" msgstr "Continue to login" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:181 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188 msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients." msgstr "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:149 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154 msgid "Controls the default visibility of an uploaded document." msgstr "Controls the default visibility of an uploaded document." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237 msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead." msgstr "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:259 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270 +msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally." +msgstr "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301 msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately." msgstr "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately." @@ -1246,12 +1253,11 @@ msgstr "Decline" msgid "Declined team invitation" msgstr "Declined team invitation" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:161 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168 msgid "Default Document Language" msgstr "Default Document Language" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:125 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130 msgid "Default Document Visibility" msgstr "Default Document Visibility" @@ -1312,7 +1318,7 @@ msgstr "Delete Document" msgid "Delete passkey" msgstr "Delete passkey" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118 msgid "Delete team" msgstr "Delete team" @@ -1351,7 +1357,7 @@ msgid "Details" msgstr "Details" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242 msgid "Device" msgstr "Device" @@ -1462,7 +1468,7 @@ msgstr "Document Cancelled" msgid "Document completed" msgstr "Document completed" -#: apps/web/src/app/embed/completed.tsx:16 +#: apps/web/src/app/embed/completed.tsx:17 msgid "Document Completed!" msgstr "Document Completed!" @@ -1526,7 +1532,7 @@ msgstr "Document no longer available to sign" msgid "Document pending" msgstr "Document pending" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:99 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103 msgid "Document preferences updated" msgstr "Document preferences updated" @@ -1598,7 +1604,7 @@ msgstr "Document will be permanently deleted" msgid "Documents" msgstr "Documents" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194 msgid "Documents created from template" msgstr "Documents created from template" @@ -1679,7 +1685,7 @@ msgstr "Duplicate" msgid "Edit" msgstr "Edit" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114 msgid "Edit Template" msgstr "Edit Template" @@ -1705,8 +1711,8 @@ msgstr "Electronic Signature Disclosure" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1767,6 +1773,10 @@ msgstr "Enable direct link signing" msgid "Enable Direct Link Signing" msgstr "Enable Direct Link Signing" +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255 +msgid "Enable Typed Signature" +msgstr "Enable Typed Signature" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:123 #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:138 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74 @@ -1813,9 +1823,9 @@ msgstr "Enter your text here" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:186 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256 #: 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 @@ -1837,8 +1847,9 @@ msgstr "Enter your text here" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:146 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:129 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 @@ -1850,7 +1861,7 @@ msgstr "Error" #~ msgid "Error updating global team settings" #~ msgstr "Error updating global team settings" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:136 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141 msgid "Everyone can access and view the document" msgstr "Everyone can access and view the document" @@ -1866,7 +1877,7 @@ msgstr "Everyone has signed! You will receive an Email copy of the signed docume msgid "Exceeded timeout" msgstr "Exceeded timeout" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114 msgid "Expired" msgstr "Expired" @@ -1908,8 +1919,8 @@ msgstr "Forgot your password?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2031,7 +2042,7 @@ msgstr "Inbox documents" #~ msgid "Include Sender Details" #~ msgstr "Include Sender Details" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:244 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286 msgid "Include the Signing Certificate in the Document" msgstr "Include the Signing Certificate in the Document" @@ -2111,7 +2122,7 @@ msgid "Invoice" msgstr "Invoice" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235 msgid "IP Address" msgstr "IP Address" @@ -2251,7 +2262,7 @@ msgstr "Manage {0}'s profile" msgid "Manage all teams you are currently associated with." msgstr "Manage all teams you are currently associated with." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158 msgid "Manage and view template" msgstr "Manage and view template" @@ -2418,8 +2429,8 @@ msgstr "New team owner" msgid "New Template" msgstr "New Template" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Next" @@ -2526,11 +2537,11 @@ msgstr "Once confirmed, the following will occur:" msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below." msgstr "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:142 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147 msgid "Only admins can access and view the document" msgstr "Only admins can access and view the document" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:139 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144 msgid "Only managers and above can access and view the document" msgstr "Only managers and above can access and view the document" @@ -2776,7 +2787,7 @@ msgstr "Please type <0>{0} to confirm." msgid "Preferences" msgstr "Preferences" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:212 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221 msgid "Preview" msgstr "Preview" @@ -2854,7 +2865,7 @@ msgstr "Read the full <0>signature disclosure." msgid "Ready" msgstr "Ready" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289 msgid "Reason" msgstr "Reason" @@ -2981,7 +2992,7 @@ msgstr "Resend Confirmation Email" msgid "Resend verification" msgstr "Resend verification" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163 #: apps/web/src/components/forms/public-profile-form.tsx:267 msgid "Reset" msgstr "Reset" @@ -3062,7 +3073,7 @@ msgstr "Roles" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:271 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313 msgid "Save" msgstr "Save" @@ -3137,8 +3148,7 @@ msgstr "Send confirmation email" msgid "Send document" msgstr "Send document" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205 msgid "Send on Behalf of Team" msgstr "Send on Behalf of Team" @@ -3159,7 +3169,7 @@ msgid "Sending..." msgstr "Sending..." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256 msgid "Sent" msgstr "Sent" @@ -3212,13 +3222,13 @@ msgstr "Show templates in your team public profile for your audience to sign and #: 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 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:256 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 #: apps/web/src/components/ui/user-profile-timur.tsx:81 msgid "Sign" msgstr "Sign" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274 msgid "Sign as {0} <0>({1})" msgstr "Sign as {0} <0>({1})" @@ -3226,8 +3236,8 @@ msgstr "Sign as {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Sign as<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226 msgid "Sign document" msgstr "Sign document" @@ -3259,8 +3269,8 @@ msgstr "Sign in to your account" msgid "Sign Out" msgstr "Sign Out" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247 msgid "Sign the document to complete the process." msgstr "Sign the document to complete the process." @@ -3286,15 +3296,15 @@ msgstr "Sign Up with OIDC" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:247 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Signature" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228 msgid "Signature ID" msgstr "Signature ID" @@ -3307,7 +3317,7 @@ msgid "Signatures will appear once the document has been completed" msgstr "Signatures will appear once the document has been completed" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278 #: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Signed" @@ -3320,7 +3330,7 @@ msgstr "Signer Events" msgid "Signing Certificate" msgstr "Signing Certificate" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311 msgid "Signing certificate provided by" msgstr "Signing certificate provided by" @@ -3384,8 +3394,8 @@ msgstr "Site Settings" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39 #: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210 @@ -3418,7 +3428,7 @@ msgstr "Something went wrong while sending the confirmation email." msgid "Something went wrong while updating the team billing subscription, please contact support." msgstr "Something went wrong while updating the team billing subscription, please contact support." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108 msgid "Something went wrong!" msgstr "Something went wrong!" @@ -3486,7 +3496,7 @@ msgstr "Subscriptions" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79 @@ -3517,8 +3527,8 @@ msgstr "Team" msgid "Team checkout" msgstr "Team checkout" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140 msgid "Team email" msgstr "Team email" @@ -3561,7 +3571,7 @@ msgid "Team Member" msgstr "Team Member" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112 msgid "Team Name" msgstr "Team Name" @@ -3614,7 +3624,7 @@ msgid "Team transfer request expired" msgstr "Team transfer request expired" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128 msgid "Team URL" msgstr "Team URL" @@ -3634,7 +3644,7 @@ msgstr "Teams restricted" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3664,11 +3674,11 @@ msgstr "Template has been updated." msgid "Template moved" msgstr "Template moved" -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246 msgid "Template saved" msgstr "Template saved" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3711,7 +3721,7 @@ msgstr "The direct link has been copied to your clipboard" msgid "The document has been successfully moved to the selected team." msgstr "The document has been successfully moved to the selected team." -#: apps/web/src/app/embed/completed.tsx:29 +#: apps/web/src/app/embed/completed.tsx:30 msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "The document is now completed, please follow any instructions provided within the parent application." @@ -3920,7 +3930,7 @@ msgstr "This price includes minimum 5 seats." msgid "This session has expired. Please try again." msgstr "This session has expired. Please try again." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195 msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "This team, and any associated data excluding billing invoices will be permanently deleted." @@ -3937,7 +3947,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new msgstr "This token is invalid or has expired. Please contact your team for a new invitation." #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86 msgid "This URL is already in use." msgstr "This URL is already in use." @@ -4070,13 +4080,13 @@ msgstr "transfer {teamName}" msgid "Transfer ownership of this team to a selected team member." msgstr "Transfer ownership of this team to a selected team member." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156 msgid "Transfer team" msgstr "Transfer team" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173 msgid "Transfer the ownership of the team to another team member." msgstr "Transfer the ownership of the team to another team member." @@ -4127,6 +4137,10 @@ msgstr "Type" msgid "Type a command or search..." msgstr "Type a command or search..." +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130 +msgid "Typed signatures are not allowed. Please draw your signature." +msgstr "Typed signatures are not allowed. Please draw your signature." + #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "Uh oh! Looks like you're missing a token" @@ -4219,10 +4233,10 @@ msgstr "Unauthorized" msgid "Uncompleted" msgstr "Uncompleted" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284 msgid "Unknown" msgstr "Unknown" @@ -4255,7 +4269,7 @@ msgstr "Update passkey" msgid "Update password" msgstr "Update password" -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Update profile" msgstr "Update profile" @@ -4267,7 +4281,7 @@ msgstr "Update Recipient" msgid "Update role" msgstr "Update role" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175 msgid "Update team" msgstr "Update team" @@ -4294,7 +4308,7 @@ msgstr "Update webhook" msgid "Updating password..." msgstr "Updating password..." -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Updating profile..." msgstr "Updating profile..." @@ -4327,7 +4341,7 @@ msgstr "Uploaded file is too small" msgid "Uploaded file not an allowed file type" msgstr "Uploaded file not an allowed file type" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169 msgid "Use" msgstr "Use" @@ -4435,7 +4449,7 @@ msgstr "View Codes" msgid "View Document" msgstr "View Document" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "View documents associated with this email" @@ -4461,7 +4475,7 @@ msgid "View teams" msgstr "View teams" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267 msgid "Viewed" msgstr "Viewed" @@ -4621,7 +4635,7 @@ msgstr "We encountered an unknown error while attempting to update your password msgid "We encountered an unknown error while attempting to update your public profile. Please try again later." msgstr "We encountered an unknown error while attempting to update your public profile. Please try again later." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95 msgid "We encountered an unknown error while attempting to update your team. Please try again later." msgstr "We encountered an unknown error while attempting to update your team. Please try again later." @@ -4664,8 +4678,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas msgstr "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again." #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132 msgid "We were unable to submit this document at this time. Please try again later." msgstr "We were unable to submit this document at this time. Please try again later." @@ -4673,7 +4687,7 @@ msgstr "We were unable to submit this document at this time. Please try again la msgid "We were unable to update your branding preferences at this time, please try again later" msgstr "We were unable to update your branding preferences at this time, please try again later" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:106 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110 msgid "We were unable to update your document preferences at this time, please try again later" msgstr "We were unable to update your document preferences at this time, please try again later" @@ -4858,7 +4872,7 @@ msgstr "You can copy and share these links to recipients so they can action the msgid "You can update the profile URL by updating the team URL in the general settings page." msgstr "You can update the profile URL by updating the team URL in the general settings page." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65 msgid "You can view documents associated with this email and use this identity when sending documents." msgstr "You can view documents associated with this email and use this identity when sending documents." @@ -5056,7 +5070,7 @@ msgstr "Your document has been uploaded successfully." msgid "Your document has been uploaded successfully. You will be redirected to the template page." msgstr "Your document has been uploaded successfully. You will be redirected to the template page." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:100 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 msgid "Your document preferences have been updated" msgstr "Your document preferences have been updated" @@ -5123,7 +5137,7 @@ msgstr "Your team has been created." msgid "Your team has been successfully deleted." msgstr "Your team has been successfully deleted." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68 msgid "Your team has been successfully updated." msgstr "Your team has been successfully updated." @@ -5139,7 +5153,7 @@ msgstr "Your template has been successfully deleted." msgid "Your template will be duplicated." msgstr "Your template will be duplicated." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247 msgid "Your templates has been saved successfully." msgstr "Your templates has been saved successfully." diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index 9980a92b8..cf56a130b 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -444,7 +444,7 @@ msgid "Advanced Options" msgstr "Opciones avanzadas" #: packages/ui/primitives/document-flow/add-fields.tsx:576 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:409 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:414 msgid "Advanced settings" msgstr "Configuraciones avanzadas" @@ -500,11 +500,11 @@ msgstr "Aprobando" msgid "Before you get started, please confirm your email address by clicking the button below:" msgstr "Antes de comenzar, por favor confirma tu dirección de correo electrónico haciendo clic en el botón de abajo:" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:377 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:383 msgid "Black" msgstr "Negro" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:391 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:397 msgid "Blue" msgstr "Azul" @@ -562,7 +562,7 @@ msgstr "Valores de Checkbox" msgid "Clear filters" msgstr "Limpiar filtros" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:411 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:417 msgid "Clear Signature" msgstr "Limpiar firma" @@ -590,7 +590,7 @@ msgid "Configure Direct Recipient" msgstr "Configurar destinatario directo" #: packages/ui/primitives/document-flow/add-fields.tsx:577 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:410 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 msgid "Configure the {0} field" msgstr "Configurar el campo {0}" @@ -653,7 +653,7 @@ msgstr "Texto personalizado" #: packages/ui/primitives/document-flow/add-fields.tsx:934 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:697 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:729 msgid "Date" msgstr "Fecha" @@ -793,7 +793,7 @@ msgid "Drag & drop your PDF here." msgstr "Arrastre y suelte su PDF aquí." #: packages/ui/primitives/document-flow/add-fields.tsx:1065 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:827 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:860 msgid "Dropdown" msgstr "Menú desplegable" @@ -807,7 +807,7 @@ msgstr "Opciones de menú desplegable" #: packages/ui/primitives/document-flow/add-signers.tsx:512 #: packages/ui/primitives/document-flow/add-signers.tsx:519 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:645 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:677 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478 msgid "Email" @@ -843,6 +843,7 @@ msgid "Enable signing order" msgstr "Habilitar orden de firma" #: packages/ui/primitives/document-flow/add-fields.tsx:802 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:597 msgid "Enable Typed Signatures" msgstr "Habilitar firmas escritas" @@ -930,7 +931,7 @@ msgstr "Autenticación de acción de destinatario global" msgid "Go Back" msgstr "Regresar" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:398 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:404 msgid "Green" msgstr "Verde" @@ -1025,7 +1026,7 @@ msgstr "Mín" #: packages/ui/primitives/document-flow/add-signers.tsx:550 #: packages/ui/primitives/document-flow/add-signers.tsx:556 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:671 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:703 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512 msgid "Name" @@ -1044,7 +1045,7 @@ msgid "Needs to view" msgstr "Necesita ver" #: packages/ui/primitives/document-flow/add-fields.tsx:693 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:511 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:516 msgid "No recipient matching this description was found." msgstr "No se encontró ningún destinatario que coincidiera con esta descripción." @@ -1053,7 +1054,7 @@ msgid "No recipients" msgstr "Sin destinatarios" #: packages/ui/primitives/document-flow/add-fields.tsx:708 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:526 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:531 msgid "No recipients with this role" msgstr "No hay destinatarios con este rol" @@ -1083,7 +1084,7 @@ msgstr "Ninguno" #: packages/ui/primitives/document-flow/add-fields.tsx:986 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:749 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:781 msgid "Number" msgstr "Número" @@ -1175,7 +1176,6 @@ msgid "Please try again or contact our support." msgstr "Por favor, inténtalo de nuevo o contacta a nuestro soporte." #: packages/ui/primitives/document-flow/types.ts:57 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:775 msgid "Radio" msgstr "Radio" @@ -1218,7 +1218,7 @@ msgstr "Correo electrónico de destinatario eliminado" msgid "Recipient signing request email" msgstr "Correo electrónico de solicitud de firma de destinatario" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:384 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:390 msgid "Red" msgstr "Rojo" @@ -1287,7 +1287,7 @@ msgstr "Filas por página" msgid "Save" msgstr "Guardar" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:861 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:893 msgid "Save Template" msgstr "Guardar plantilla" @@ -1380,7 +1380,7 @@ msgstr "Iniciar sesión" #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:593 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:625 msgid "Signature" msgstr "Firma" @@ -1465,7 +1465,7 @@ msgstr "Título de plantilla" #: packages/ui/primitives/document-flow/add-fields.tsx:960 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:723 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:755 msgid "Text" msgstr "Texto" @@ -1629,7 +1629,7 @@ msgid "Title" msgstr "Título" #: packages/ui/primitives/document-flow/add-fields.tsx:1080 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:841 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:873 msgid "To proceed further, please set at least one value for the {0} field." msgstr "Para continuar, por favor establezca al menos un valor para el campo {0}." diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 9b445fa62..82dcef19a 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -18,7 +18,7 @@ msgstr "" "X-Crowdin-File: web.po\n" "X-Crowdin-File-ID: 8\n" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:222 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231 msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "\"{0}\" te ha invitado a firmar \"ejemplo de documento\"." @@ -31,8 +31,8 @@ msgid "\"{documentTitle}\" has been successfully deleted" msgstr "\"{documentTitle}\" ha sido eliminado con éxito" #: apps/web/src/components/(teams)/forms/update-team-form.tsx:234 -msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." -msgstr "\"{email}\" en nombre de \"{teamName}\" te ha invitado a firmar \"ejemplo de documento\"." +#~ msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." +#~ msgstr "\"{email}\" en nombre de \"{teamName}\" te ha invitado a firmar \"ejemplo de documento\"." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209 #~ msgid "" @@ -42,13 +42,13 @@ msgstr "\"{email}\" en nombre de \"{teamName}\" te ha invitado a firmar \"ejempl #~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n" #~ "document\"." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:217 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226 msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" en nombre de \"{0}\" te ha invitado a firmar \"documento de ejemplo\"." #: apps/web/src/components/(teams)/forms/update-team-form.tsx:241 -msgid "\"{teamUrl}\" has invited you to sign \"example document\"." -msgstr "\"{teamUrl}\" te ha invitado a firmar \"ejemplo de documento\"." +#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"." +#~ msgstr "\"{teamUrl}\" te ha invitado a firmar \"ejemplo de documento\"." #: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80 msgid "({0}) has invited you to approve this document" @@ -240,7 +240,7 @@ msgid "A unique URL to access your profile" msgstr "Una URL única para acceder a tu perfil" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138 msgid "A unique URL to identify your team" msgstr "Una URL única para identificar tu equipo" @@ -296,7 +296,7 @@ msgstr "Acción" msgid "Actions" msgstr "Acciones" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101 #: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76 #: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71 msgid "Active" @@ -472,9 +472,12 @@ msgstr "Se ha enviado un correo electrónico solicitando la transferencia de est msgid "An error occurred" msgstr "Ocurrió un error" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257 +msgid "An error occurred while adding fields." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218 msgid "An error occurred while adding signers." msgstr "Ocurrió un error al agregar firmantes." @@ -536,7 +539,7 @@ msgstr "Ocurrió un error mientras se eliminaba el campo." #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190 msgid "An error occurred while removing the signature." msgstr "Ocurrió un error al eliminar la firma." @@ -560,7 +563,7 @@ msgstr "Ocurrió un error al enviar tu correo electrónico de confirmación" #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:147 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 msgid "An error occurred while signing the document." msgstr "Ocurrió un error al firmar el documento." @@ -570,7 +573,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "Ocurrió un error al intentar crear una sesión de pago." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187 msgid "An error occurred while updating the document settings." msgstr "Ocurrió un error al actualizar la configuración del documento." @@ -608,7 +611,7 @@ msgstr "Ocurrió un error al subir tu documento." #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93 #: apps/web/src/components/forms/avatar-image.tsx:94 #: apps/web/src/components/forms/avatar-image.tsx:122 #: apps/web/src/components/forms/password.tsx:84 @@ -725,7 +728,7 @@ msgstr "Avatar" msgid "Avatar Updated" msgstr "Avatar actualizado" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121 msgid "Awaiting email confirmation" msgstr "Esperando confirmación de correo electrónico" @@ -833,7 +836,7 @@ msgstr "Al utilizar la función de firma electrónica, usted está consintiendo #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 @@ -926,8 +929,8 @@ msgstr "Haga clic para copiar el enlace de firma para enviar al destinatario" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335 msgid "Click to insert field" msgstr "Haga clic para insertar campo" @@ -945,8 +948,8 @@ msgid "Close" msgstr "Cerrar" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Completo" @@ -1045,19 +1048,23 @@ msgstr "Continuar" msgid "Continue to login" msgstr "Continuar con el inicio de sesión" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:181 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188 msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients." msgstr "Controla el idioma predeterminado de un documento cargado. Este se utilizará como el idioma en las comunicaciones por correo electrónico con los destinatarios." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:149 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154 msgid "Controls the default visibility of an uploaded document." msgstr "Controla la visibilidad predeterminada de un documento cargado." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237 msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead." msgstr "Controla el formato del mensaje que se enviará al invitar a un destinatario a firmar un documento. Si se ha proporcionado un mensaje personalizado al configurar el documento, se usará en su lugar." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:259 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270 +msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally." +msgstr "" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301 msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately." msgstr "" @@ -1251,12 +1258,11 @@ msgstr "Rechazar" msgid "Declined team invitation" msgstr "Invitación de equipo rechazada" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:161 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168 msgid "Default Document Language" msgstr "Idioma predeterminado del documento" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:125 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130 msgid "Default Document Visibility" msgstr "Visibilidad predeterminada del documento" @@ -1317,7 +1323,7 @@ msgstr "Eliminar Documento" msgid "Delete passkey" msgstr "Eliminar clave de paso" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118 msgid "Delete team" msgstr "Eliminar equipo" @@ -1356,7 +1362,7 @@ msgid "Details" msgstr "Detalles" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242 msgid "Device" msgstr "Dispositivo" @@ -1467,7 +1473,7 @@ msgstr "Documento Cancelado" msgid "Document completed" msgstr "Documento completado" -#: apps/web/src/app/embed/completed.tsx:16 +#: apps/web/src/app/embed/completed.tsx:17 msgid "Document Completed!" msgstr "¡Documento completado!" @@ -1531,7 +1537,7 @@ msgstr "El documento ya no está disponible para firmar" msgid "Document pending" msgstr "Documento pendiente" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:99 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103 msgid "Document preferences updated" msgstr "Preferencias del documento actualizadas" @@ -1603,7 +1609,7 @@ msgstr "El documento será eliminado permanentemente" msgid "Documents" msgstr "Documentos" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194 msgid "Documents created from template" msgstr "Documentos creados a partir de la plantilla" @@ -1684,7 +1690,7 @@ msgstr "Duplicar" msgid "Edit" msgstr "Editar" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114 msgid "Edit Template" msgstr "Editar plantilla" @@ -1710,8 +1716,8 @@ msgstr "Divulgación de Firma Electrónica" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1772,6 +1778,10 @@ msgstr "Habilitar firma de enlace directo" msgid "Enable Direct Link Signing" msgstr "Habilitar firma de enlace directo" +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255 +msgid "Enable Typed Signature" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:123 #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:138 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74 @@ -1818,9 +1828,9 @@ msgstr "Ingresa tu texto aquí" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:186 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256 #: 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 @@ -1842,8 +1852,9 @@ msgstr "Ingresa tu texto aquí" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:146 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:129 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 @@ -1855,7 +1866,7 @@ msgstr "Error" #~ msgid "Error updating global team settings" #~ msgstr "Error updating global team settings" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:136 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141 msgid "Everyone can access and view the document" msgstr "Todos pueden acceder y ver el documento" @@ -1871,7 +1882,7 @@ msgstr "¡Todos han firmado! Recibirás una copia por correo electrónico del do msgid "Exceeded timeout" msgstr "Tiempo de espera excedido" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114 msgid "Expired" msgstr "Expirado" @@ -1913,8 +1924,8 @@ msgstr "¿Olvidaste tu contraseña?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2036,7 +2047,7 @@ msgstr "Documentos en bandeja de entrada" #~ msgid "Include Sender Details" #~ msgstr "Include Sender Details" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:244 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286 msgid "Include the Signing Certificate in the Document" msgstr "" @@ -2116,7 +2127,7 @@ msgid "Invoice" msgstr "Factura" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235 msgid "IP Address" msgstr "Dirección IP" @@ -2256,7 +2267,7 @@ msgstr "Gestionar el perfil de {0}" msgid "Manage all teams you are currently associated with." msgstr "Gestionar todos los equipos con los que estás asociado actualmente." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158 msgid "Manage and view template" msgstr "Gestionar y ver plantilla" @@ -2423,8 +2434,8 @@ msgstr "Nuevo propietario del equipo" msgid "New Template" msgstr "Nueva plantilla" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Siguiente" @@ -2531,11 +2542,11 @@ msgstr "Una vez confirmado, ocurrirá lo siguiente:" msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below." msgstr "Una vez que hayas escaneado el código QR o ingresado el código manualmente, ingresa el código proporcionado por tu aplicación de autenticación a continuación." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:142 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147 msgid "Only admins can access and view the document" msgstr "Solo los administradores pueden acceder y ver el documento" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:139 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144 msgid "Only managers and above can access and view the document" msgstr "Solo los gerentes y superiores pueden acceder y ver el documento" @@ -2781,7 +2792,7 @@ msgstr "Por favor, escribe <0>{0} para confirmar." msgid "Preferences" msgstr "Preferencias" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:212 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221 msgid "Preview" msgstr "Vista previa" @@ -2859,7 +2870,7 @@ msgstr "Lea la <0>divulgación de firma completa." msgid "Ready" msgstr "Listo" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289 msgid "Reason" msgstr "Razón" @@ -2986,7 +2997,7 @@ msgstr "Reenviar correo de confirmación" msgid "Resend verification" msgstr "Reenviar verificación" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163 #: apps/web/src/components/forms/public-profile-form.tsx:267 msgid "Reset" msgstr "Restablecer" @@ -3067,7 +3078,7 @@ msgstr "Roles" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:271 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313 msgid "Save" msgstr "Guardar" @@ -3142,8 +3153,7 @@ msgstr "Enviar correo de confirmación" msgid "Send document" msgstr "Enviar documento" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205 msgid "Send on Behalf of Team" msgstr "Enviar en nombre del equipo" @@ -3164,7 +3174,7 @@ msgid "Sending..." msgstr "Enviando..." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256 msgid "Sent" msgstr "Enviado" @@ -3217,13 +3227,13 @@ msgstr "Mostrar plantillas en el perfil público de tu equipo para que tu audien #: 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 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:256 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 #: apps/web/src/components/ui/user-profile-timur.tsx:81 msgid "Sign" msgstr "Firmar" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274 msgid "Sign as {0} <0>({1})" msgstr "Firmar como {0} <0>({1})" @@ -3231,8 +3241,8 @@ msgstr "Firmar como {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Firmar como<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226 msgid "Sign document" msgstr "Firmar documento" @@ -3264,8 +3274,8 @@ msgstr "Inicia sesión en tu cuenta" msgid "Sign Out" msgstr "Cerrar sesión" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247 msgid "Sign the document to complete the process." msgstr "Firma el documento para completar el proceso." @@ -3291,15 +3301,15 @@ msgstr "Regístrate con OIDC" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:247 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Firma" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228 msgid "Signature ID" msgstr "ID de Firma" @@ -3312,7 +3322,7 @@ msgid "Signatures will appear once the document has been completed" msgstr "Las firmas aparecerán una vez que el documento se haya completado" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278 #: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Firmado" @@ -3325,7 +3335,7 @@ msgstr "Eventos del Firmante" msgid "Signing Certificate" msgstr "Certificado de Firma" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311 msgid "Signing certificate provided by" msgstr "Certificado de firma proporcionado por" @@ -3389,8 +3399,8 @@ msgstr "Configuraciones del sitio" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39 #: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210 @@ -3423,7 +3433,7 @@ msgstr "Algo salió mal al enviar el correo de confirmación." msgid "Something went wrong while updating the team billing subscription, please contact support." msgstr "Algo salió mal al actualizar la suscripción de facturación del equipo, por favor contacta al soporte." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108 msgid "Something went wrong!" msgstr "¡Algo salió mal!" @@ -3491,7 +3501,7 @@ msgstr "Suscripciones" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79 @@ -3522,8 +3532,8 @@ msgstr "Equipo" msgid "Team checkout" msgstr "Checkout del equipo" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140 msgid "Team email" msgstr "Correo del equipo" @@ -3566,7 +3576,7 @@ msgid "Team Member" msgstr "Miembro del equipo" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112 msgid "Team Name" msgstr "Nombre del equipo" @@ -3619,7 +3629,7 @@ msgid "Team transfer request expired" msgstr "Solicitud de transferencia del equipo expirada" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128 msgid "Team URL" msgstr "URL del equipo" @@ -3639,7 +3649,7 @@ msgstr "Equipos restringidos" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3669,11 +3679,11 @@ msgstr "La plantilla ha sido actualizada." msgid "Template moved" msgstr "Plantilla movida" -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246 msgid "Template saved" msgstr "Plantilla guardada" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3716,7 +3726,7 @@ msgstr "El enlace directo ha sido copiado a tu portapapeles" msgid "The document has been successfully moved to the selected team." msgstr "El documento ha sido movido con éxito al equipo seleccionado." -#: apps/web/src/app/embed/completed.tsx:29 +#: apps/web/src/app/embed/completed.tsx:30 msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "El documento ahora está completado, por favor sigue cualquier instrucción proporcionada dentro de la aplicación principal." @@ -3925,7 +3935,7 @@ msgstr "Este precio incluye un mínimo de 5 asientos." msgid "This session has expired. Please try again." msgstr "Esta sesión ha expirado. Por favor, inténtalo de nuevo." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195 msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Este equipo, y cualquier dato asociado, excluyendo las facturas de facturación, serán eliminados permanentemente." @@ -3942,7 +3952,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new msgstr "Este token es inválido o ha expirado. Por favor, contacta a tu equipo para una nueva invitación." #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86 msgid "This URL is already in use." msgstr "Esta URL ya está en uso." @@ -4075,13 +4085,13 @@ msgstr "transferir {teamName}" msgid "Transfer ownership of this team to a selected team member." msgstr "Transferir la propiedad de este equipo a un miembro del equipo seleccionado." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156 msgid "Transfer team" msgstr "Transferir equipo" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173 msgid "Transfer the ownership of the team to another team member." msgstr "Transferir la propiedad del equipo a otro miembro del equipo." @@ -4132,6 +4142,10 @@ msgstr "Tipo" msgid "Type a command or search..." msgstr "Escribe un comando o busca..." +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130 +msgid "Typed signatures are not allowed. Please draw your signature." +msgstr "" + #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "¡Oh no! Parece que te falta un token" @@ -4224,10 +4238,10 @@ msgstr "No autorizado" msgid "Uncompleted" msgstr "Incompleto" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284 msgid "Unknown" msgstr "Desconocido" @@ -4260,7 +4274,7 @@ msgstr "Actualizar clave de acceso" msgid "Update password" msgstr "Actualizar contraseña" -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Update profile" msgstr "Actualizar perfil" @@ -4272,7 +4286,7 @@ msgstr "Actualizar destinatario" msgid "Update role" msgstr "Actualizar rol" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175 msgid "Update team" msgstr "Actualizar equipo" @@ -4299,7 +4313,7 @@ msgstr "Actualizar webhook" msgid "Updating password..." msgstr "Actualizando contraseña..." -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Updating profile..." msgstr "Actualizando perfil..." @@ -4332,7 +4346,7 @@ msgstr "El archivo subido es demasiado pequeño" msgid "Uploaded file not an allowed file type" msgstr "El archivo subido no es un tipo de archivo permitido" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169 msgid "Use" msgstr "Usar" @@ -4440,7 +4454,7 @@ msgstr "Ver Códigos" msgid "View Document" msgstr "Ver Documento" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "Ver documentos asociados con este correo electrónico" @@ -4466,7 +4480,7 @@ msgid "View teams" msgstr "Ver equipos" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267 msgid "Viewed" msgstr "Visto" @@ -4626,7 +4640,7 @@ msgstr "Encontramos un error desconocido al intentar actualizar tu contraseña. msgid "We encountered an unknown error while attempting to update your public profile. Please try again later." msgstr "Encontramos un error desconocido al intentar actualizar tu perfil público. Por favor, inténtalo de nuevo más tarde." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95 msgid "We encountered an unknown error while attempting to update your team. Please try again later." msgstr "Encontramos un error desconocido al intentar actualizar tu equipo. Por favor, inténtalo de nuevo más tarde." @@ -4669,8 +4683,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas msgstr "No pudimos configurar la autenticación de dos factores para tu cuenta. Asegúrate de haber ingresado correctamente tu código e inténtalo de nuevo." #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132 msgid "We were unable to submit this document at this time. Please try again later." msgstr "No pudimos enviar este documento en este momento. Por favor, inténtalo de nuevo más tarde." @@ -4678,7 +4692,7 @@ msgstr "No pudimos enviar este documento en este momento. Por favor, inténtalo msgid "We were unable to update your branding preferences at this time, please try again later" msgstr "No pudimos actualizar tus preferencias de marca en este momento, por favor intenta de nuevo más tarde" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:106 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110 msgid "We were unable to update your document preferences at this time, please try again later" msgstr "No pudimos actualizar tus preferencias de documento en este momento, por favor intenta de nuevo más tarde" @@ -4863,7 +4877,7 @@ msgstr "Puede copiar y compartir estos enlaces con los destinatarios para que pu msgid "You can update the profile URL by updating the team URL in the general settings page." msgstr "Puedes actualizar la URL del perfil actualizando la URL del equipo en la página de configuración general." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65 msgid "You can view documents associated with this email and use this identity when sending documents." msgstr "Puedes ver documentos asociados a este correo electrónico y usar esta identidad al enviar documentos." @@ -5061,7 +5075,7 @@ msgstr "Tu documento ha sido subido con éxito." msgid "Your document has been uploaded successfully. You will be redirected to the template page." msgstr "Tu documento ha sido subido con éxito. Serás redirigido a la página de plantillas." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:100 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 msgid "Your document preferences have been updated" msgstr "Tus preferencias de documento han sido actualizadas" @@ -5128,7 +5142,7 @@ msgstr "Tu equipo ha sido creado." msgid "Your team has been successfully deleted." msgstr "Tu equipo ha sido eliminado con éxito." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68 msgid "Your team has been successfully updated." msgstr "Tu equipo ha sido actualizado con éxito." @@ -5144,7 +5158,7 @@ msgstr "Tu plantilla ha sido eliminada con éxito." msgid "Your template will be duplicated." msgstr "Tu plantilla será duplicada." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247 msgid "Your templates has been saved successfully." msgstr "Tus plantillas han sido guardadas con éxito." diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index b0e2687e9..557fb75bc 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -444,7 +444,7 @@ msgid "Advanced Options" msgstr "Options avancées" #: packages/ui/primitives/document-flow/add-fields.tsx:576 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:409 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:414 msgid "Advanced settings" msgstr "Paramètres avancés" @@ -500,11 +500,11 @@ msgstr "En attente d'approbation" msgid "Before you get started, please confirm your email address by clicking the button below:" msgstr "Avant de commencer, veuillez confirmer votre adresse email en cliquant sur le bouton ci-dessous :" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:377 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:383 msgid "Black" msgstr "Noir" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:391 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:397 msgid "Blue" msgstr "Bleu" @@ -562,7 +562,7 @@ msgstr "Valeurs de case à cocher" msgid "Clear filters" msgstr "Effacer les filtres" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:411 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:417 msgid "Clear Signature" msgstr "Effacer la signature" @@ -590,7 +590,7 @@ msgid "Configure Direct Recipient" msgstr "Configurer le destinataire direct" #: packages/ui/primitives/document-flow/add-fields.tsx:577 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:410 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 msgid "Configure the {0} field" msgstr "Configurer le champ {0}" @@ -653,7 +653,7 @@ msgstr "Texte personnalisé" #: packages/ui/primitives/document-flow/add-fields.tsx:934 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:697 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:729 msgid "Date" msgstr "Date" @@ -793,7 +793,7 @@ msgid "Drag & drop your PDF here." msgstr "Faites glisser et déposez votre PDF ici." #: packages/ui/primitives/document-flow/add-fields.tsx:1065 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:827 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:860 msgid "Dropdown" msgstr "Liste déroulante" @@ -807,7 +807,7 @@ msgstr "Options de liste déroulante" #: packages/ui/primitives/document-flow/add-signers.tsx:512 #: packages/ui/primitives/document-flow/add-signers.tsx:519 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:645 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:677 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478 msgid "Email" @@ -843,6 +843,7 @@ msgid "Enable signing order" msgstr "Activer l'ordre de signature" #: packages/ui/primitives/document-flow/add-fields.tsx:802 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:597 msgid "Enable Typed Signatures" msgstr "Activer les signatures tapées" @@ -930,7 +931,7 @@ msgstr "Authentification d'action de destinataire globale" msgid "Go Back" msgstr "Retourner" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:398 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:404 msgid "Green" msgstr "Vert" @@ -1025,7 +1026,7 @@ msgstr "Min" #: packages/ui/primitives/document-flow/add-signers.tsx:550 #: packages/ui/primitives/document-flow/add-signers.tsx:556 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:671 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:703 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512 msgid "Name" @@ -1044,7 +1045,7 @@ msgid "Needs to view" msgstr "Nécessite une visualisation" #: packages/ui/primitives/document-flow/add-fields.tsx:693 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:511 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:516 msgid "No recipient matching this description was found." msgstr "Aucun destinataire correspondant à cette description n'a été trouvé." @@ -1053,7 +1054,7 @@ msgid "No recipients" msgstr "Aucun destinataire" #: packages/ui/primitives/document-flow/add-fields.tsx:708 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:526 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:531 msgid "No recipients with this role" msgstr "Aucun destinataire avec ce rôle" @@ -1083,7 +1084,7 @@ msgstr "Aucun" #: packages/ui/primitives/document-flow/add-fields.tsx:986 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:749 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:781 msgid "Number" msgstr "Numéro" @@ -1175,7 +1176,6 @@ msgid "Please try again or contact our support." msgstr "Veuillez réessayer ou contacter notre support." #: packages/ui/primitives/document-flow/types.ts:57 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:775 msgid "Radio" msgstr "Radio" @@ -1218,7 +1218,7 @@ msgstr "E-mail de destinataire supprimé" msgid "Recipient signing request email" msgstr "E-mail de demande de signature de destinataire" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:384 +#: packages/ui/primitives/signature-pad/signature-pad.tsx:390 msgid "Red" msgstr "Rouge" @@ -1287,7 +1287,7 @@ msgstr "Lignes par page" msgid "Save" msgstr "Sauvegarder" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:861 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:893 msgid "Save Template" msgstr "Sauvegarder le modèle" @@ -1380,7 +1380,7 @@ msgstr "Se connecter" #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:593 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:625 msgid "Signature" msgstr "Signature" @@ -1465,7 +1465,7 @@ msgstr "Titre du modèle" #: packages/ui/primitives/document-flow/add-fields.tsx:960 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:723 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:755 msgid "Text" msgstr "Texte" @@ -1629,7 +1629,7 @@ msgid "Title" msgstr "Titre" #: packages/ui/primitives/document-flow/add-fields.tsx:1080 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:841 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:873 msgid "To proceed further, please set at least one value for the {0} field." msgstr "Pour continuer, veuillez définir au moins une valeur pour le champ {0}." diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index fc2d508d4..02ca2fcca 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -18,7 +18,7 @@ msgstr "" "X-Crowdin-File: web.po\n" "X-Crowdin-File-ID: 8\n" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:222 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231 msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "\"{0}\" vous a invité à signer \"example document\"." @@ -31,8 +31,8 @@ msgid "\"{documentTitle}\" has been successfully deleted" msgstr "\"{documentTitle}\" a été supprimé avec succès" #: apps/web/src/components/(teams)/forms/update-team-form.tsx:234 -msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." -msgstr "\"{email}\" au nom de \"{teamName}\" vous a invité à signer \"example document\"." +#~ msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"." +#~ msgstr "\"{email}\" au nom de \"{teamName}\" vous a invité à signer \"example document\"." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209 #~ msgid "" @@ -42,13 +42,13 @@ msgstr "\"{email}\" au nom de \"{teamName}\" vous a invité à signer \"example #~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n" #~ "document\"." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:217 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226 msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" au nom de \"{0}\" vous a invité à signer \"exemple de document\"." #: apps/web/src/components/(teams)/forms/update-team-form.tsx:241 -msgid "\"{teamUrl}\" has invited you to sign \"example document\"." -msgstr "\"{teamUrl}\" vous a invité à signer \"example document\"." +#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"." +#~ msgstr "\"{teamUrl}\" vous a invité à signer \"example document\"." #: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80 msgid "({0}) has invited you to approve this document" @@ -240,7 +240,7 @@ msgid "A unique URL to access your profile" msgstr "Une URL unique pour accéder à votre profil" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138 msgid "A unique URL to identify your team" msgstr "Une URL unique pour identifier votre équipe" @@ -296,7 +296,7 @@ msgstr "Action" msgid "Actions" msgstr "Actions" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101 #: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76 #: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71 msgid "Active" @@ -472,9 +472,12 @@ msgstr "Un e-mail demandant le transfert de cette équipe a été envoyé." msgid "An error occurred" msgstr "Une erreur est survenue" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257 +msgid "An error occurred while adding fields." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218 msgid "An error occurred while adding signers." msgstr "Une erreur est survenue lors de l'ajout de signataires." @@ -536,7 +539,7 @@ msgstr "Une erreur est survenue lors de la suppression du champ." #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190 msgid "An error occurred while removing the signature." msgstr "Une erreur est survenue lors de la suppression de la signature." @@ -560,7 +563,7 @@ msgstr "Une erreur est survenue lors de l'envoi de votre e-mail de confirmation" #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:147 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 msgid "An error occurred while signing the document." msgstr "Une erreur est survenue lors de la signature du document." @@ -570,7 +573,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "Une erreur est survenue lors de la création d'une session de paiement." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187 msgid "An error occurred while updating the document settings." msgstr "Une erreur est survenue lors de la mise à jour des paramètres du document." @@ -608,7 +611,7 @@ msgstr "Une erreur est survenue lors du téléchargement de votre document." #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93 #: apps/web/src/components/forms/avatar-image.tsx:94 #: apps/web/src/components/forms/avatar-image.tsx:122 #: apps/web/src/components/forms/password.tsx:84 @@ -725,7 +728,7 @@ msgstr "Avatar" msgid "Avatar Updated" msgstr "Avatar mis à jour" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121 msgid "Awaiting email confirmation" msgstr "En attente de confirmation par e-mail" @@ -833,7 +836,7 @@ msgstr "En utilisant la fonctionnalité de signature électronique, vous consent #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 @@ -926,8 +929,8 @@ msgstr "Cliquez pour copier le lien de signature à envoyer au destinataire" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335 msgid "Click to insert field" msgstr "Cliquez pour insérer le champ" @@ -945,8 +948,8 @@ msgid "Close" msgstr "Fermer" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Compléter" @@ -1045,19 +1048,23 @@ msgstr "Continuer" msgid "Continue to login" msgstr "Continuer vers la connexion" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:181 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188 msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients." msgstr "Contrôle la langue par défaut d'un document téléchargé. Cela sera utilisé comme langue dans les communications par e-mail avec les destinataires." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:149 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154 msgid "Controls the default visibility of an uploaded document." msgstr "Contrôle la visibilité par défaut d'un document téléchargé." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237 msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead." msgstr "Contrôle le formatage du message qui sera envoyé lors de l'invitation d'un destinataire à signer un document. Si un message personnalisé a été fourni lors de la configuration du document, il sera utilisé à la place." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:259 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270 +msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally." +msgstr "" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301 msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately." msgstr "" @@ -1251,12 +1258,11 @@ msgstr "Décliner" msgid "Declined team invitation" msgstr "Invitation d'équipe refusée" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:161 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168 msgid "Default Document Language" msgstr "Langue par défaut du document" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:125 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130 msgid "Default Document Visibility" msgstr "Visibilité par défaut du document" @@ -1317,7 +1323,7 @@ msgstr "Supprimer le document" msgid "Delete passkey" msgstr "Supprimer la clé d'accès" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118 msgid "Delete team" msgstr "Supprimer l'équipe" @@ -1356,7 +1362,7 @@ msgid "Details" msgstr "Détails" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242 msgid "Device" msgstr "Appareil" @@ -1467,7 +1473,7 @@ msgstr "Document Annulé" msgid "Document completed" msgstr "Document complété" -#: apps/web/src/app/embed/completed.tsx:16 +#: apps/web/src/app/embed/completed.tsx:17 msgid "Document Completed!" msgstr "Document Complété !" @@ -1531,7 +1537,7 @@ msgstr "Document non disponible pour signature" msgid "Document pending" msgstr "Document en attente" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:99 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103 msgid "Document preferences updated" msgstr "Préférences de document mises à jour" @@ -1603,7 +1609,7 @@ msgstr "Le document sera supprimé de manière permanente" msgid "Documents" msgstr "Documents" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194 msgid "Documents created from template" msgstr "Documents créés à partir du modèle" @@ -1684,7 +1690,7 @@ msgstr "Dupliquer" msgid "Edit" msgstr "Modifier" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114 msgid "Edit Template" msgstr "Modifier le modèle" @@ -1710,8 +1716,8 @@ msgstr "Divulgation de signature électronique" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1772,6 +1778,10 @@ msgstr "Activer la signature par lien direct" msgid "Enable Direct Link Signing" msgstr "Activer la signature par lien direct" +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255 +msgid "Enable Typed Signature" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:123 #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:138 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74 @@ -1818,9 +1828,9 @@ msgstr "Entrez votre texte ici" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:186 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256 #: 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 @@ -1842,8 +1852,9 @@ msgstr "Entrez votre texte ici" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:146 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:129 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 @@ -1855,7 +1866,7 @@ msgstr "Erreur" #~ msgid "Error updating global team settings" #~ msgstr "Error updating global team settings" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:136 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141 msgid "Everyone can access and view the document" msgstr "Tout le monde peut accéder et voir le document" @@ -1871,7 +1882,7 @@ msgstr "Tout le monde a signé ! Vous recevrez une copie par email du document s msgid "Exceeded timeout" msgstr "Délai dépassé" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114 msgid "Expired" msgstr "Expiré" @@ -1913,8 +1924,8 @@ msgstr "Mot de passe oublié ?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2036,7 +2047,7 @@ msgstr "Documents de la boîte de réception" #~ msgid "Include Sender Details" #~ msgstr "Include Sender Details" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:244 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286 msgid "Include the Signing Certificate in the Document" msgstr "" @@ -2116,7 +2127,7 @@ msgid "Invoice" msgstr "Facture" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235 msgid "IP Address" msgstr "Adresse IP" @@ -2256,7 +2267,7 @@ msgstr "Gérer le profil de {0}" msgid "Manage all teams you are currently associated with." msgstr "Gérer toutes les équipes avec lesquelles vous êtes actuellement associé." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158 msgid "Manage and view template" msgstr "Gérer et afficher le modèle" @@ -2423,8 +2434,8 @@ msgstr "Nouveau propriétaire d'équipe" msgid "New Template" msgstr "Nouveau modèle" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Suivant" @@ -2531,11 +2542,11 @@ msgstr "Une fois confirmé, les éléments suivants se produiront :" msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below." msgstr "Une fois que vous avez scanné le code QR ou saisi le code manuellement, entrez le code fourni par votre application d'authentification ci-dessous." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:142 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147 msgid "Only admins can access and view the document" msgstr "Seules les administrateurs peuvent accéder et voir le document" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:139 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144 msgid "Only managers and above can access and view the document" msgstr "Seuls les responsables et au-dessus peuvent accéder et voir le document" @@ -2781,7 +2792,7 @@ msgstr "Veuillez taper <0>{0} pour confirmer." msgid "Preferences" msgstr "Préférences" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:212 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221 msgid "Preview" msgstr "Aperçu" @@ -2859,7 +2870,7 @@ msgstr "Lisez l'intégralité de la <0>divulgation de signature." msgid "Ready" msgstr "Prêt" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289 msgid "Reason" msgstr "Raison" @@ -2986,7 +2997,7 @@ msgstr "Renvoyer l'e-mail de confirmation" msgid "Resend verification" msgstr "Renvoyer la vérification" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163 #: apps/web/src/components/forms/public-profile-form.tsx:267 msgid "Reset" msgstr "Réinitialiser" @@ -3067,7 +3078,7 @@ msgstr "Rôles" #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 #: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:271 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313 msgid "Save" msgstr "Sauvegarder" @@ -3142,8 +3153,7 @@ msgstr "Envoyer l'e-mail de confirmation" msgid "Send document" msgstr "Envoyer le document" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205 msgid "Send on Behalf of Team" msgstr "Envoyer au nom de l'équipe" @@ -3164,7 +3174,7 @@ msgid "Sending..." msgstr "Envoi..." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256 msgid "Sent" msgstr "Envoyé" @@ -3217,13 +3227,13 @@ msgstr "Afficher des modèles dans le profil public de votre équipe pour que vo #: 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 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:256 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 #: apps/web/src/components/ui/user-profile-timur.tsx:81 msgid "Sign" msgstr "Signer" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274 msgid "Sign as {0} <0>({1})" msgstr "Signer comme {0} <0>({1})" @@ -3231,8 +3241,8 @@ msgstr "Signer comme {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Signer comme<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226 msgid "Sign document" msgstr "Signer le document" @@ -3264,8 +3274,8 @@ msgstr "Connectez-vous à votre compte" msgid "Sign Out" msgstr "Déconnexion" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247 msgid "Sign the document to complete the process." msgstr "Signez le document pour terminer le processus." @@ -3291,15 +3301,15 @@ msgstr "S'inscrire avec OIDC" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:247 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Signature" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228 msgid "Signature ID" msgstr "ID de signature" @@ -3312,7 +3322,7 @@ msgid "Signatures will appear once the document has been completed" msgstr "Les signatures apparaîtront une fois le document complété" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278 #: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Signé" @@ -3325,7 +3335,7 @@ msgstr "Événements de signataire" msgid "Signing Certificate" msgstr "Certificat de signature" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311 msgid "Signing certificate provided by" msgstr "Certificat de signature fourni par" @@ -3389,8 +3399,8 @@ msgstr "Paramètres du site" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39 #: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50 #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210 @@ -3423,7 +3433,7 @@ msgstr "Quelque chose a mal tourné lors de l'envoi de l'e-mail de confirmation. msgid "Something went wrong while updating the team billing subscription, please contact support." msgstr "Quelque chose a mal tourné lors de la mise à jour de l'abonnement de l'équipe, veuillez contacter le support." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108 msgid "Something went wrong!" msgstr "Quelque chose a mal tourné !" @@ -3491,7 +3501,7 @@ msgstr "Abonnements" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79 @@ -3522,8 +3532,8 @@ msgstr "Équipe" msgid "Team checkout" msgstr "Vérification de l'équipe" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140 msgid "Team email" msgstr "Adresse e-mail de l'équipe" @@ -3566,7 +3576,7 @@ msgid "Team Member" msgstr "Membre de l'équipe" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112 msgid "Team Name" msgstr "Nom de l'équipe" @@ -3619,7 +3629,7 @@ msgid "Team transfer request expired" msgstr "Demande de transfert d'équipe expirée" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128 msgid "Team URL" msgstr "URL de l'équipe" @@ -3639,7 +3649,7 @@ msgstr "Équipes restreintes" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3669,11 +3679,11 @@ msgstr "Le modèle a été mis à jour." msgid "Template moved" msgstr "Modèle déplacé" -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246 msgid "Template saved" msgstr "Modèle enregistré" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3716,7 +3726,7 @@ msgstr "Le lien direct a été copié dans votre presse-papiers" msgid "The document has been successfully moved to the selected team." msgstr "Le document a été déplacé avec succès vers l'équipe sélectionnée." -#: apps/web/src/app/embed/completed.tsx:29 +#: apps/web/src/app/embed/completed.tsx:30 msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "Le document est maintenant complet, veuillez suivre toutes les instructions fournies dans l'application parente." @@ -3925,7 +3935,7 @@ msgstr "Ce prix inclut un minimum de 5 sièges." msgid "This session has expired. Please try again." msgstr "Cette session a expiré. Veuillez réessayer." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195 msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Cette équipe, et toutes les données associées à l'exception des factures de facturation, seront définitivement supprimées." @@ -3942,7 +3952,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new msgstr "Ce jeton est invalide ou a expiré. Veuillez contacter votre équipe pour une nouvelle invitation." #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98 -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86 msgid "This URL is already in use." msgstr "Cette URL est déjà utilisée." @@ -4075,13 +4085,13 @@ msgstr "transférer {teamName}" msgid "Transfer ownership of this team to a selected team member." msgstr "Transférer la propriété de cette équipe à un membre d'équipe sélectionné." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156 msgid "Transfer team" msgstr "Transférer l'équipe" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173 msgid "Transfer the ownership of the team to another team member." msgstr "Transférer la propriété de l'équipe à un autre membre de l'équipe." @@ -4132,6 +4142,10 @@ msgstr "Type" msgid "Type a command or search..." msgstr "Tapez une commande ou recherchez..." +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130 +msgid "Typed signatures are not allowed. Please draw your signature." +msgstr "" + #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "Oh oh ! On dirait que vous manquez un jeton" @@ -4224,10 +4238,10 @@ msgstr "Non autorisé" msgid "Uncompleted" msgstr "Non complet" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284 msgid "Unknown" msgstr "Inconnu" @@ -4260,7 +4274,7 @@ msgstr "Mettre à jour la clé d'accès" msgid "Update password" msgstr "Mettre à jour le mot de passe" -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Update profile" msgstr "Mettre à jour le profil" @@ -4272,7 +4286,7 @@ msgstr "Mettre à jour le destinataire" msgid "Update role" msgstr "Mettre à jour le rôle" -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175 msgid "Update team" msgstr "Mettre à jour l'équipe" @@ -4299,7 +4313,7 @@ msgstr "Mettre à jour le webhook" msgid "Updating password..." msgstr "Mise à jour du mot de passe..." -#: apps/web/src/components/forms/profile.tsx:150 +#: apps/web/src/components/forms/profile.tsx:151 msgid "Updating profile..." msgstr "Mise à jour du profil..." @@ -4332,7 +4346,7 @@ msgstr "Le fichier téléchargé est trop petit" msgid "Uploaded file not an allowed file type" msgstr "Le fichier téléchargé n'est pas un type de fichier autorisé" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169 msgid "Use" msgstr "Utiliser" @@ -4440,7 +4454,7 @@ msgstr "Voir les codes" msgid "View Document" msgstr "Voir le document" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "Voir les documents associés à cet e-mail" @@ -4466,7 +4480,7 @@ msgid "View teams" msgstr "Voir les équipes" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267 msgid "Viewed" msgstr "Vu" @@ -4626,7 +4640,7 @@ msgstr "Une erreur inconnue s'est produite lors de la mise à jour de votre mot msgid "We encountered an unknown error while attempting to update your public profile. Please try again later." msgstr "Une erreur inconnue s'est produite lors de la mise à jour de votre profil public. Veuillez réessayer plus tard." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95 msgid "We encountered an unknown error while attempting to update your team. Please try again later." msgstr "Une erreur inconnue s'est produite lors de la mise à jour de votre équipe. Veuillez réessayer plus tard." @@ -4669,8 +4683,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas msgstr "Nous n'avons pas pu configurer l'authentification à deux facteurs pour votre compte. Veuillez vous assurer que vous avez correctement entré votre code et réessayez." #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132 msgid "We were unable to submit this document at this time. Please try again later." msgstr "Nous n'avons pas pu soumettre ce document pour le moment. Veuillez réessayer plus tard." @@ -4678,7 +4692,7 @@ msgstr "Nous n'avons pas pu soumettre ce document pour le moment. Veuillez rées msgid "We were unable to update your branding preferences at this time, please try again later" msgstr "Nous n'avons pas pu mettre à jour vos préférences de branding pour le moment, veuillez réessayer plus tard" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:106 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110 msgid "We were unable to update your document preferences at this time, please try again later" msgstr "Nous n'avons pas pu mettre à jour vos préférences de document pour le moment, veuillez réessayer plus tard" @@ -4863,7 +4877,7 @@ msgstr "Vous pouvez copier et partager ces liens avec les destinataires afin qu' msgid "You can update the profile URL by updating the team URL in the general settings page." msgstr "Vous pouvez mettre à jour l'URL de profil en mettant à jour l'URL de l'équipe dans la page des paramètres généraux." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65 msgid "You can view documents associated with this email and use this identity when sending documents." msgstr "Vous pouvez voir les documents associés à cet e-mail et utiliser cette identité lors de l'envoi de documents." @@ -5061,7 +5075,7 @@ msgstr "Votre document a été téléchargé avec succès." msgid "Your document has been uploaded successfully. You will be redirected to the template page." msgstr "Votre document a été téléchargé avec succès. Vous serez redirigé vers la page de modèle." -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:100 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 msgid "Your document preferences have been updated" msgstr "Vos préférences de document ont été mises à jour" @@ -5128,7 +5142,7 @@ msgstr "Votre équipe a été créée." msgid "Your team has been successfully deleted." msgstr "Votre équipe a été supprimée avec succès." -#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68 msgid "Your team has been successfully updated." msgstr "Votre équipe a été mise à jour avec succès." @@ -5144,7 +5158,7 @@ msgstr "Votre modèle a été supprimé avec succès." msgid "Your template will be duplicated." msgstr "Votre modèle sera dupliqué." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247 msgid "Your templates has been saved successfully." msgstr "Vos modèles ont été enregistrés avec succès." diff --git a/packages/prisma/migrations/20241101112106_enable_typed_signature_by_default/migration.sql b/packages/prisma/migrations/20241101112106_enable_typed_signature_by_default/migration.sql new file mode 100644 index 000000000..d2cc07c5f --- /dev/null +++ b/packages/prisma/migrations/20241101112106_enable_typed_signature_by_default/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "DocumentMeta" ALTER COLUMN "typedSignatureEnabled" SET DEFAULT true; diff --git a/packages/prisma/migrations/20241119123601_add_typed_signature_team_global_settings/migration.sql b/packages/prisma/migrations/20241119123601_add_typed_signature_team_global_settings/migration.sql new file mode 100644 index 000000000..671072482 --- /dev/null +++ b/packages/prisma/migrations/20241119123601_add_typed_signature_team_global_settings/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "TeamGlobalSettings" ADD COLUMN "typedSignatureEnabled" BOOLEAN NOT NULL DEFAULT true; diff --git a/packages/prisma/migrations/20241126014353_add_typed_signature_setting_to_templates/migration.sql b/packages/prisma/migrations/20241126014353_add_typed_signature_setting_to_templates/migration.sql new file mode 100644 index 000000000..78084c2d3 --- /dev/null +++ b/packages/prisma/migrations/20241126014353_add_typed_signature_setting_to_templates/migration.sql @@ -0,0 +1,7 @@ +-- Existing templates should not have this enabled by default. +-- AlterTable +ALTER TABLE "TemplateMeta" ADD COLUMN "typedSignatureEnabled" BOOLEAN NOT NULL DEFAULT false; + +-- New templates should have this enabled by default. +-- AlterTable +ALTER TABLE "TemplateMeta" ALTER COLUMN "typedSignatureEnabled" SET DEFAULT true; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index e876979f2..1e58c723f 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -374,7 +374,7 @@ model DocumentMeta { document Document @relation(fields: [documentId], references: [id], onDelete: Cascade) redirectUrl String? signingOrder DocumentSigningOrder @default(PARALLEL) - typedSignatureEnabled Boolean @default(false) + typedSignatureEnabled Boolean @default(true) language String @default("en") distributionMethod DocumentDistributionMethod @default(EMAIL) emailSettings Json? @@ -515,6 +515,7 @@ model TeamGlobalSettings { documentVisibility DocumentVisibility @default(EVERYONE) documentLanguage String @default("en") includeSenderDetails Boolean @default(true) + typedSignatureEnabled Boolean @default(true) includeSigningCertificate Boolean @default(true) brandingEnabled Boolean @default(false) @@ -629,19 +630,21 @@ enum TemplateType { } model TemplateMeta { - id String @id @default(cuid()) - subject String? - message String? - timezone String? @default("Etc/UTC") @db.Text - password String? - dateFormat String? @default("yyyy-MM-dd hh:mm a") @db.Text - signingOrder DocumentSigningOrder? @default(PARALLEL) - templateId Int @unique - template Template @relation(fields: [templateId], references: [id], onDelete: Cascade) - redirectUrl String? - language String @default("en") - distributionMethod DocumentDistributionMethod @default(EMAIL) - emailSettings Json? + id String @id @default(cuid()) + subject String? + message String? + timezone String? @default("Etc/UTC") @db.Text + password String? + dateFormat String? @default("yyyy-MM-dd hh:mm a") @db.Text + signingOrder DocumentSigningOrder? @default(PARALLEL) + typedSignatureEnabled Boolean @default(true) + distributionMethod DocumentDistributionMethod @default(EMAIL) + + templateId Int @unique + template Template @relation(fields: [templateId], references: [id], onDelete: Cascade) + redirectUrl String? + language String @default("en") + emailSettings Json? } model Template { diff --git a/packages/trpc/server/team-router/schema.ts b/packages/trpc/server/team-router/schema.ts index c1fd53283..0c5f3cb3d 100644 --- a/packages/trpc/server/team-router/schema.ts +++ b/packages/trpc/server/team-router/schema.ts @@ -151,8 +151,6 @@ export const ZUpdateTeamMutationSchema = z.object({ data: z.object({ name: ZTeamNameSchema, url: ZTeamUrlSchema, - documentVisibility: z.nativeEnum(DocumentVisibility).optional(), - includeSenderDetails: z.boolean().optional(), }), }); @@ -212,6 +210,7 @@ export const ZUpdateTeamDocumentSettingsMutationSchema = z.object({ .default(DocumentVisibility.EVERYONE), documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES).optional().default('en'), includeSenderDetails: z.boolean().optional().default(false), + typedSignatureEnabled: z.boolean().optional().default(true), includeSigningCertificate: z.boolean().optional().default(true), }), }); diff --git a/packages/trpc/server/template-router/router.ts b/packages/trpc/server/template-router/router.ts index 4cf333ec0..de4365e44 100644 --- a/packages/trpc/server/template-router/router.ts +++ b/packages/trpc/server/template-router/router.ts @@ -35,6 +35,7 @@ import { ZSetSigningOrderForTemplateMutationSchema, ZToggleTemplateDirectLinkMutationSchema, ZUpdateTemplateSettingsMutationSchema, + ZUpdateTemplateTypedSignatureSettingsMutationSchema, } from './schema'; export const templateRouter = router({ @@ -359,4 +360,48 @@ export const templateRouter = router({ }); } }), + + updateTemplateTypedSignatureSettings: authenticatedProcedure + .input(ZUpdateTemplateTypedSignatureSettingsMutationSchema) + .mutation(async ({ input, ctx }) => { + try { + const { templateId, teamId, typedSignatureEnabled } = input; + + const template = await getTemplateById({ + id: templateId, + teamId, + userId: ctx.user.id, + }).catch(() => null); + + if (!template) { + throw new TRPCError({ + code: 'NOT_FOUND', + message: 'Template not found', + }); + } + + return await updateTemplateSettings({ + templateId, + teamId, + userId: ctx.user.id, + data: {}, + meta: { + typedSignatureEnabled, + }, + requestMetadata: extractNextApiRequestMetadata(ctx.req), + }); + } catch (err) { + console.error(err); + + if (err instanceof TRPCError) { + throw err; + } + + throw new TRPCError({ + code: 'BAD_REQUEST', + message: + 'We were unable to update the settings for this template. Please try again later.', + }); + } + }), }); diff --git a/packages/trpc/server/template-router/schema.ts b/packages/trpc/server/template-router/schema.ts index eef77c3b9..1d4891b13 100644 --- a/packages/trpc/server/template-router/schema.ts +++ b/packages/trpc/server/template-router/schema.ts @@ -114,6 +114,7 @@ export const ZUpdateTemplateSettingsMutationSchema = z.object({ 'Please enter a valid URL, make sure you include http:// or https:// part of the url.', }), language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), + typedSignatureEnabled: z.boolean().optional(), }) .optional(), }); @@ -138,6 +139,12 @@ export const ZMoveTemplatesToTeamSchema = z.object({ teamId: z.number(), }); +export const ZUpdateTemplateTypedSignatureSettingsMutationSchema = z.object({ + templateId: z.number(), + teamId: z.number().optional(), + typedSignatureEnabled: z.boolean(), +}); + export type TCreateTemplateMutationSchema = z.infer; export type TCreateDocumentFromTemplateMutationSchema = z.infer< typeof ZCreateDocumentFromTemplateMutationSchema diff --git a/packages/ui/primitives/signature-pad/signature-pad.tsx b/packages/ui/primitives/signature-pad/signature-pad.tsx index 82e6b52b3..92aa8c211 100644 --- a/packages/ui/primitives/signature-pad/signature-pad.tsx +++ b/packages/ui/primitives/signature-pad/signature-pad.tsx @@ -38,6 +38,7 @@ export type SignaturePadProps = Omit, 'onChang containerClassName?: string; disabled?: boolean; allowTypedSignature?: boolean; + defaultValue?: string; }; export const SignaturePad = ({ @@ -56,7 +57,7 @@ export const SignaturePad = ({ const [lines, setLines] = useState([]); const [currentLine, setCurrentLine] = useState([]); const [selectedColor, setSelectedColor] = useState('black'); - const [typedSignature, setTypedSignature] = useState(''); + const [typedSignature, setTypedSignature] = useState(defaultValue ?? ''); const perfectFreehandOptions = useMemo(() => { const size = $el.current ? Math.min($el.current.height, $el.current.width) * 0.03 : 10; @@ -206,6 +207,7 @@ export const SignaturePad = ({ if (ctx) { const canvasWidth = $el.current.width; const canvasHeight = $el.current.height; + const fontFamily = String(fontCaveat.style.fontFamily); ctx.clearRect(0, 0, canvasWidth, canvasHeight); ctx.textAlign = 'center'; @@ -217,7 +219,7 @@ export const SignaturePad = ({ // Start with a base font size let fontSize = 18; - ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`; + ctx.font = `${fontSize}px ${fontFamily}`; // Measure 10 characters and calculate scale factor const characterWidth = ctx.measureText('m'.repeat(10)).width; @@ -227,7 +229,7 @@ export const SignaturePad = ({ fontSize = fontSize * scaleFactor; // Adjust font size if it exceeds canvas width - ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`; + ctx.font = `${fontSize}px ${fontFamily}`; const textWidth = ctx.measureText(typedSignature).width; @@ -236,7 +238,7 @@ export const SignaturePad = ({ } // Set final font and render text - ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`; + ctx.font = `${fontSize}px ${fontFamily}`; ctx.fillText(typedSignature, canvasWidth / 2, canvasHeight / 2); } } @@ -247,7 +249,7 @@ export const SignaturePad = ({ setTypedSignature(newValue); if (newValue.trim() !== '') { - onChange?.($el.current?.toDataURL() || null); + onChange?.(newValue); } else { onChange?.(null); } @@ -256,7 +258,7 @@ export const SignaturePad = ({ useEffect(() => { if (typedSignature.trim() !== '') { renderTypedSignature(); - onChange?.($el.current?.toDataURL() || null); + onChange?.(typedSignature); } else { onClearClick(); } @@ -303,6 +305,10 @@ export const SignaturePad = ({ $el.current.width = $el.current.clientWidth * DPI; $el.current.height = $el.current.clientHeight * DPI; } + + if (defaultValue && typedSignature) { + renderTypedSignature(); + } }, []); unsafe_useEffectOnce(() => { diff --git a/packages/ui/primitives/template-flow/add-template-fields.tsx b/packages/ui/primitives/template-flow/add-template-fields.tsx index 6da8e27d3..97e76f499 100644 --- a/packages/ui/primitives/template-flow/add-template-fields.tsx +++ b/packages/ui/primitives/template-flow/add-template-fields.tsx @@ -55,8 +55,10 @@ import { FRIENDLY_FIELD_TYPE } from '@documenso/ui/primitives/document-flow/type import { Popover, PopoverContent, PopoverTrigger } from '@documenso/ui/primitives/popover'; import { getSignerColorStyles, useSignerColors } from '../../lib/signer-colors'; +import { Checkbox } from '../checkbox'; import type { FieldFormType } from '../document-flow/add-fields'; import { FieldAdvancedSettings } from '../document-flow/field-item-advanced-settings'; +import { Form, FormControl, FormField, FormItem, FormLabel } from '../form/form'; import { useStep } from '../stepper'; import type { TAddTemplateFieldsFormSchema } from './add-template-fields.types'; @@ -80,6 +82,7 @@ export type AddTemplateFieldsFormProps = { fields: Field[]; onSubmit: (_data: TAddTemplateFieldsFormSchema) => void; teamId?: number; + typedSignatureEnabled?: boolean; }; export const AddTemplateFieldsFormPartial = ({ @@ -89,6 +92,7 @@ export const AddTemplateFieldsFormPartial = ({ fields, onSubmit, teamId, + typedSignatureEnabled, }: AddTemplateFieldsFormProps) => { const { _ } = useLingui(); @@ -97,13 +101,7 @@ export const AddTemplateFieldsFormPartial = ({ const [showAdvancedSettings, setShowAdvancedSettings] = useState(false); const [currentField, setCurrentField] = useState(); - const { - control, - handleSubmit, - formState: { isSubmitting }, - setValue, - getValues, - } = useForm({ + const form = useForm({ defaultValues: { fields: fields.map((field) => ({ nativeId: field.id, @@ -121,13 +119,14 @@ export const AddTemplateFieldsFormPartial = ({ recipients.find((recipient) => recipient.id === field.recipientId)?.token ?? '', fieldMeta: field.fieldMeta ? ZFieldMetaSchema.parse(field.fieldMeta) : undefined, })), + typedSignatureEnabled: typedSignatureEnabled ?? false, }, }); - const onFormSubmit = handleSubmit(onSubmit); + const onFormSubmit = form.handleSubmit(onSubmit); const handleSavedFieldSettings = (fieldState: FieldMeta) => { - const initialValues = getValues(); + const initialValues = form.getValues(); const updatedFields = initialValues.fields.map((field) => { if (field.formId === currentField?.formId) { @@ -142,7 +141,7 @@ export const AddTemplateFieldsFormPartial = ({ return field; }); - setValue('fields', updatedFields); + form.setValue('fields', updatedFields); }; const { @@ -151,7 +150,7 @@ export const AddTemplateFieldsFormPartial = ({ update, fields: localFields, } = useFieldArray({ - control, + control: form.control, name: 'fields', }); @@ -402,6 +401,12 @@ export const AddTemplateFieldsFormPartial = ({ setShowAdvancedSettings((prev) => !prev); }; + const isTypedSignatureEnabled = form.watch('typedSignatureEnabled'); + + const handleTypedSignatureChange = (value: boolean) => { + form.setValue('typedSignatureEnabled', value, { shouldDirty: true }); + }; + return ( <> {showAdvancedSettings && currentField ? ( @@ -568,305 +573,334 @@ export const AddTemplateFieldsFormPartial = ({ )} -
-
- + + ( + + + field.onChange(checked)} + disabled={form.formState.isSubmitting} + /> + - + + Enable Typed Signatures + + + )} + /> - + + +

+ Signature +

+
+
+ - + + +

+ + Initials +

+
+
+ - + + +

+ + Email +

+
+
+ - + + +

+ + Name +

+
+
+ - + + +

+ + Date +

+
+
+ - + + +

+ + Text +

+
+
+ - + + +

+ + Number +

+
+
+ - -
-
+ + +

+ + Radio +

+
+
+ + + + + +

+ +
+ + {hasErrors && ( +
+
    +
  • + + To proceed further, please set at least one value for the{' '} + {emptyCheckboxFields.length > 0 + ? 'Checkbox' + : emptyRadioFields.length > 0 + ? 'Radio' + : 'Select'}{' '} + field. + +
  • +
+
+ )} + + + + + { + previousStep(); + remove(); + }} + onGoNextClick={() => void onFormSubmit()} + /> + - - {hasErrors && ( -
-
    -
  • - - To proceed further, please set at least one value for the{' '} - {emptyCheckboxFields.length > 0 - ? 'Checkbox' - : emptyRadioFields.length > 0 - ? 'Radio' - : 'Select'}{' '} - field. - -
  • -
-
- )} - - - - - { - previousStep(); - remove(); - }} - onGoNextClick={() => void onFormSubmit()} - /> - )} diff --git a/packages/ui/primitives/template-flow/add-template-fields.types.ts b/packages/ui/primitives/template-flow/add-template-fields.types.ts index b58af7947..bc5b31afd 100644 --- a/packages/ui/primitives/template-flow/add-template-fields.types.ts +++ b/packages/ui/primitives/template-flow/add-template-fields.types.ts @@ -20,6 +20,7 @@ export const ZAddTemplateFieldsFormSchema = z.object({ fieldMeta: ZFieldMetaSchema, }), ), + typedSignatureEnabled: z.boolean(), }); export type TAddTemplateFieldsFormSchema = z.infer;