import type { TDocumentEmailSettings } from '@documenso/lib/types/document-email'; import { DocumentEmailEvents } from '@documenso/lib/types/document-email'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; import { Trans } from '@lingui/react/macro'; import { InfoIcon } from 'lucide-react'; import { cn } from '../../lib/utils'; import { Checkbox } from '../../primitives/checkbox'; type Value = TDocumentEmailSettings; type DocumentEmailCheckboxesProps = { value: Value; onChange: (value: Value) => void; className?: string; hiddenEvents?: readonly DocumentEmailEvents[]; }; export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEvents }: DocumentEmailCheckboxesProps) => { const isHidden = (event: DocumentEmailEvents) => hiddenEvents?.includes(event) ?? false; return (
{!isHidden(DocumentEmailEvents.RecipientSigned) && (
onChange({ ...value, [DocumentEmailEvents.RecipientSigned]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.RecipientSigningRequest) && (
onChange({ ...value, [DocumentEmailEvents.RecipientSigningRequest]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.RecipientRemoved) && (
onChange({ ...value, [DocumentEmailEvents.RecipientRemoved]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.DocumentPending) && (
onChange({ ...value, [DocumentEmailEvents.DocumentPending]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.DocumentCompleted) && (
onChange({ ...value, [DocumentEmailEvents.DocumentCompleted]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.DocumentDeleted) && (
onChange({ ...value, [DocumentEmailEvents.DocumentDeleted]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.OwnerDocumentCompleted) && (
onChange({ ...value, [DocumentEmailEvents.OwnerDocumentCompleted]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.OwnerDocumentCreated) && (
onChange({ ...value, [DocumentEmailEvents.OwnerDocumentCreated]: Boolean(checked) }) } />
)} {!isHidden(DocumentEmailEvents.OwnerRecipientExpired) && (
onChange({ ...value, [DocumentEmailEvents.OwnerRecipientExpired]: Boolean(checked) }) } />
)}
); };