'use client'; import React from 'react'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { FieldRootContainer } from '@documenso/ui/components/field/field'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; export type SignatureFieldProps = { field: FieldWithSignature; loading?: boolean; children: React.ReactNode; onSign?: () => Promise | void; onRemove?: () => Promise | void; type?: 'Date' | 'Email' | 'Name' | 'Signature'; tooltipText?: string | null; }; export const SigningFieldContainer = ({ field, loading, onSign, onRemove, children, type, tooltipText, }: SignatureFieldProps) => { const onSignFieldClick = async () => { if (field.inserted) { return; } await onSign?.(); }; const onRemoveSignedFieldClick = async () => { if (!field.inserted) { return; } await onRemove?.(); }; return ( {!field.inserted && !loading && ( {tooltipText && {tooltipText}} )} {type !== 'Date' && field.inserted && !loading && ( )} {children} ); };