From 9186cb4d7b220eb9e65c307fe0f7709286d0b182 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 9 Sep 2023 10:42:03 +0000 Subject: [PATCH 1/2] fix: hide popover when user selects a recipients --- .../primitives/document-flow/add-fields.tsx | 83 ++++++++++--------- packages/ui/primitives/popover.tsx | 4 +- 2 files changed, 49 insertions(+), 38 deletions(-) diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index c56e91b49..62daf803b 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -22,7 +22,12 @@ import { CommandInput, CommandItem, } from '@documenso/ui/primitives/command'; -import { Popover, PopoverContent, PopoverTrigger } from '@documenso/ui/primitives/popover'; +import { + Popover, + PopoverClose, + PopoverContent, + PopoverTrigger, +} from '@documenso/ui/primitives/popover'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; import { TAddFieldsFormSchema } from './add-fields.types'; @@ -324,7 +329,7 @@ export const AddFieldsFormPartial = ({ > {selectedSigner?.email && ( - {selectedSigner?.email} ({selectedSigner?.email}) + {selectedSigner?.name} ({selectedSigner?.email}) )} @@ -345,45 +350,49 @@ export const AddFieldsFormPartial = ({ {recipients.map((recipient, index) => ( setSelectedSigner(recipient)} > - {recipient.sendStatus !== SendStatus.SENT ? ( - - ) : ( - - - - - - This document has already been sent to this recipient. You can no - longer edit this recipient. - - - )} + + {recipient.sendStatus !== SendStatus.SENT ? ( + + ) : ( + + + + + + This document has already been sent to this recipient. You can no + longer edit this recipient. + + + )} - {recipient.name && ( - - {recipient.name} ({recipient.email}) - - )} + {recipient.name && ( + + {recipient.name} ({recipient.email}) + + )} - {!recipient.name && ( - - {recipient.email} - - )} + {!recipient.name && ( + + {recipient.email} + + )} + ))} diff --git a/packages/ui/primitives/popover.tsx b/packages/ui/primitives/popover.tsx index e84f6cc6d..640b3087e 100644 --- a/packages/ui/primitives/popover.tsx +++ b/packages/ui/primitives/popover.tsx @@ -10,6 +10,8 @@ const Popover = PopoverPrimitive.Root; const PopoverTrigger = PopoverPrimitive.Trigger; +const PopoverClose = PopoverPrimitive.Close; + const PopoverContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef @@ -30,4 +32,4 @@ const PopoverContent = React.forwardRef< PopoverContent.displayName = PopoverPrimitive.Content.displayName; -export { Popover, PopoverTrigger, PopoverContent }; +export { Popover, PopoverTrigger, PopoverContent, PopoverClose }; From f8a193c0f8906cf9c042ed24b06c6a15bc9bf717 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 9 Sep 2023 10:56:45 +0000 Subject: [PATCH 2/2] refactor: replace whole implementation with a state --- .../primitives/document-flow/add-fields.tsx | 89 +++++++++---------- packages/ui/primitives/popover.tsx | 4 +- 2 files changed, 43 insertions(+), 50 deletions(-) diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index 62daf803b..5de43c411 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -22,12 +22,7 @@ import { CommandInput, CommandItem, } from '@documenso/ui/primitives/command'; -import { - Popover, - PopoverClose, - PopoverContent, - PopoverTrigger, -} from '@documenso/ui/primitives/popover'; +import { Popover, PopoverContent, PopoverTrigger } from '@documenso/ui/primitives/popover'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; import { TAddFieldsFormSchema } from './add-fields.types'; @@ -107,6 +102,7 @@ export const AddFieldsFormPartial = ({ const [selectedField, setSelectedField] = useState(null); const [selectedSigner, setSelectedSigner] = useState(null); + const [showRecipientsSelector, setShowRecipientsSelector] = useState(false); const hasSelectedSignerBeenSent = selectedSigner?.sendStatus === SendStatus.SENT; @@ -319,7 +315,7 @@ export const AddFieldsFormPartial = ({ ))} {!hideRecipients && ( - +