mirror of
https://github.com/documenso/documenso.git
synced 2025-11-14 00:32:43 +10:00
chore: add disclosure
This commit is contained in:
@ -7,9 +7,11 @@ import {
|
|||||||
Dialog,
|
Dialog,
|
||||||
DialogContent,
|
DialogContent,
|
||||||
DialogFooter,
|
DialogFooter,
|
||||||
|
DialogTitle,
|
||||||
DialogTrigger,
|
DialogTrigger,
|
||||||
} from '@documenso/ui/primitives/dialog';
|
} from '@documenso/ui/primitives/dialog';
|
||||||
|
|
||||||
|
import { SigningDisclosure } from '~/components/general/signing-disclosure';
|
||||||
import { truncateTitle } from '~/helpers/truncate-title';
|
import { truncateTitle } from '~/helpers/truncate-title';
|
||||||
|
|
||||||
export type SignDialogProps = {
|
export type SignDialogProps = {
|
||||||
@ -66,23 +68,39 @@ export const SignDialog = ({
|
|||||||
{isComplete ? 'Complete' : 'Next field'}
|
{isComplete ? 'Complete' : 'Next field'}
|
||||||
</Button>
|
</Button>
|
||||||
</DialogTrigger>
|
</DialogTrigger>
|
||||||
|
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<div className="text-center">
|
<DialogTitle>
|
||||||
<div className="text-foreground text-xl font-semibold">
|
<div className="text-foreground text-xl font-semibold">
|
||||||
{role === RecipientRole.VIEWER && 'Mark Document as Viewed'}
|
{role === RecipientRole.VIEWER && 'Complete Viewing'}
|
||||||
{role === RecipientRole.SIGNER && 'Sign Document'}
|
{role === RecipientRole.SIGNER && 'Complete Signing'}
|
||||||
{role === RecipientRole.APPROVER && 'Approve Document'}
|
{role === RecipientRole.APPROVER && 'Complete Approval'}
|
||||||
</div>
|
|
||||||
<div className="text-muted-foreground mx-auto w-4/5 py-2 text-center">
|
|
||||||
{role === RecipientRole.VIEWER &&
|
|
||||||
`You are about to finish viewing "${truncatedTitle}". Are you sure?`}
|
|
||||||
{role === RecipientRole.SIGNER &&
|
|
||||||
`You are about to finish signing "${truncatedTitle}". Are you sure?`}
|
|
||||||
{role === RecipientRole.APPROVER &&
|
|
||||||
`You are about to finish approving "${truncatedTitle}". Are you sure?`}
|
|
||||||
</div>
|
</div>
|
||||||
|
</DialogTitle>
|
||||||
|
|
||||||
|
<div className="text-muted-foreground max-w-[50ch]">
|
||||||
|
{role === RecipientRole.VIEWER && (
|
||||||
|
<span>
|
||||||
|
You are about to complete viewing "{truncatedTitle}".
|
||||||
|
<br /> Are you sure?
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
{role === RecipientRole.SIGNER && (
|
||||||
|
<span>
|
||||||
|
You are about to complete signing "{truncatedTitle}".
|
||||||
|
<br /> Are you sure?
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
{role === RecipientRole.APPROVER && (
|
||||||
|
<span>
|
||||||
|
You are about to complete approving "{truncatedTitle}".
|
||||||
|
<br /> Are you sure?
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<SigningDisclosure className="mt-4" />
|
||||||
|
|
||||||
<DialogFooter>
|
<DialogFooter>
|
||||||
<div className="flex w-full flex-1 flex-nowrap gap-4">
|
<div className="flex w-full flex-1 flex-nowrap gap-4">
|
||||||
<Button
|
<Button
|
||||||
|
|||||||
@ -18,6 +18,8 @@ import { Label } from '@documenso/ui/primitives/label';
|
|||||||
import { SignaturePad } from '@documenso/ui/primitives/signature-pad';
|
import { SignaturePad } from '@documenso/ui/primitives/signature-pad';
|
||||||
import { useToast } from '@documenso/ui/primitives/use-toast';
|
import { useToast } from '@documenso/ui/primitives/use-toast';
|
||||||
|
|
||||||
|
import { SigningDisclosure } from '~/components/general/signing-disclosure';
|
||||||
|
|
||||||
import { useRequiredDocumentAuthContext } from './document-auth-provider';
|
import { useRequiredDocumentAuthContext } from './document-auth-provider';
|
||||||
import { useRequiredSigningContext } from './provider';
|
import { useRequiredSigningContext } from './provider';
|
||||||
import { SigningFieldContainer } from './signing-field-container';
|
import { SigningFieldContainer } from './signing-field-container';
|
||||||
@ -200,6 +202,8 @@ export const SignatureField = ({ field, recipient }: SignatureFieldProps) => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<SigningDisclosure />
|
||||||
|
|
||||||
<DialogFooter>
|
<DialogFooter>
|
||||||
<div className="flex w-full flex-1 flex-nowrap gap-4">
|
<div className="flex w-full flex-1 flex-nowrap gap-4">
|
||||||
<Button
|
<Button
|
||||||
|
|||||||
@ -0,0 +1,108 @@
|
|||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
|
import { Button } from '@documenso/ui/primitives/button';
|
||||||
|
|
||||||
|
export default function SignatureDisclosure() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<article className="prose">
|
||||||
|
<h1>Electronic Signature Disclosure</h1>
|
||||||
|
|
||||||
|
<h2>Welcome</h2>
|
||||||
|
<p>
|
||||||
|
Thank you for using Documenso to perform your electronic document signing. The purpose of
|
||||||
|
this disclosure is to inform you about the process, legality, and your rights regarding
|
||||||
|
the use of electronic signatures on our platform. By opting to use an electronic
|
||||||
|
signature, you are agreeing to the terms and conditions outlined below.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Acceptance and Consent</h2>
|
||||||
|
<p>
|
||||||
|
When you use our platform to affix your electronic signature to documents, you are
|
||||||
|
consenting to do so under the Electronic Signatures in Global and National Commerce Act
|
||||||
|
(E-Sign Act) and other applicable laws. This action indicates your agreement to use
|
||||||
|
electronic means to sign documents and receive notifications.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Legality of Electronic Signatures</h2>
|
||||||
|
<p>
|
||||||
|
An electronic signature provided by you on our platform, achieved through clicking through
|
||||||
|
to a document and entering your name, or any other electronic signing method we provide,
|
||||||
|
is legally binding. It carries the same weight and enforceability as a manual signature
|
||||||
|
written with ink on paper.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>System Requirements</h2>
|
||||||
|
<p>To use our electronic signature service, you must have access to:</p>
|
||||||
|
<ul>
|
||||||
|
<li>A stable internet connection</li>
|
||||||
|
<li>An email account</li>
|
||||||
|
<li>A device capable of accessing, opening, and reading documents</li>
|
||||||
|
<li>A means to print or download documents for your records</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Electronic Delivery of Documents</h2>
|
||||||
|
<p>
|
||||||
|
All documents related to the electronic signing process will be provided to you
|
||||||
|
electronically through our platform or via email. It is your responsibility to ensure that
|
||||||
|
your email address is current and that you can receive and open our emails.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Consent to Electronic Transactions</h2>
|
||||||
|
<p>
|
||||||
|
By using the electronic signature feature, you are consenting to conduct transactions and
|
||||||
|
receive disclosures electronically. You acknowledge that your electronic signature on
|
||||||
|
documents is binding and that you accept the terms outlined in the documents you are
|
||||||
|
signing.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Withdrawing Consent</h2>
|
||||||
|
<p>
|
||||||
|
You have the right to withdraw your consent to use electronic signatures at any time
|
||||||
|
before completing the signing process. To withdraw your consent, please contact the sender
|
||||||
|
of the document. In failing to contact the sender you may reach out to{' '}
|
||||||
|
<a href="mailto:support@documenso.com">support@documenso.com</a> for assistance. Be aware
|
||||||
|
that withdrawing consent may delay or halt the completion of the related transaction or
|
||||||
|
service.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Updating Your Information</h2>
|
||||||
|
<p>
|
||||||
|
It is crucial to keep your contact information, especially your email address, up to date
|
||||||
|
with us. Please notify us immediately of any changes to ensure that you continue to
|
||||||
|
receive all necessary communications.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Retention of Documents</h2>
|
||||||
|
<p>
|
||||||
|
After signing a document electronically, you will be provided the opportunity to view,
|
||||||
|
download, and print the document for your records. It is highly recommended that you
|
||||||
|
retain a copy of all electronically signed documents for your personal records. We will
|
||||||
|
also retain a copy of the signed document for our records however we may not be able to
|
||||||
|
provide you with a copy of the signed document after a certain period of time.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Acknowledgment</h2>
|
||||||
|
<p>
|
||||||
|
By proceeding to use the electronic signature service provided by Documenso, you affirm
|
||||||
|
that you have read and understood this disclosure. You agree to all terms and conditions
|
||||||
|
related to the use of electronic signatures and electronic transactions as outlined
|
||||||
|
herein.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Contact Information</h2>
|
||||||
|
<p>
|
||||||
|
For any questions regarding this disclosure, electronic signatures, or any related
|
||||||
|
process, please contact us at:{' '}
|
||||||
|
<a href="mailto:support@documenso.com">support@documenso.com</a>
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div className="mt-8">
|
||||||
|
<Button asChild>
|
||||||
|
<Link href="/documents">Back to Documents</Link>
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
29
apps/web/src/components/general/signing-disclosure.tsx
Normal file
29
apps/web/src/components/general/signing-disclosure.tsx
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import type { HTMLAttributes } from 'react';
|
||||||
|
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
|
import { cn } from '@documenso/ui/lib/utils';
|
||||||
|
|
||||||
|
export type SigningDisclosureProps = HTMLAttributes<HTMLParagraphElement>;
|
||||||
|
|
||||||
|
export const SigningDisclosure = ({ className, ...props }: SigningDisclosureProps) => {
|
||||||
|
return (
|
||||||
|
<p className={cn('text-muted-foreground text-xs', className)} {...props}>
|
||||||
|
By proceeding with your electronic signature, you acknowledge and consent that it will be used
|
||||||
|
to sign the given document and holds the same legal validity as a handwritten signature. By
|
||||||
|
completing the electronic signing process, you affirm your understanding and acceptance of
|
||||||
|
these conditions.
|
||||||
|
<span className="mt-2 block">
|
||||||
|
Read the full{' '}
|
||||||
|
<Link
|
||||||
|
className="text-documenso-700 underline"
|
||||||
|
href="/articles/signature-disclosure"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
signature disclosure
|
||||||
|
</Link>
|
||||||
|
.
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
);
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user