From 35acf059975e40449d6d12649bd4b18206d56d84 Mon Sep 17 00:00:00 2001 From: Mythie Date: Sat, 9 Sep 2023 04:38:37 +0000 Subject: [PATCH 1/8] feat: add devcontainer --- .devcontainer/devcontainer.json | 20 ++++++++++++++++++++ .devcontainer/on-create.sh | 21 +++++++++++++++++++++ package.json | 2 +- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/on-create.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..59a318b7f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,20 @@ +{ + "name": "Documenso", + "image": "mcr.microsoft.com/devcontainers/base:bullseye", + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": { + "version": "latest", + "enableNonRootDocker": "true", + "moby": "true" + }, + "ghcr.io/devcontainers/features/node:1": {} + }, + "onCreateCommand": "./.devcontainer/on-create.sh", + "forwardPorts": [ + 3000, + 54320, + 9000, + 2500, + 1100 + ] +} diff --git a/.devcontainer/on-create.sh b/.devcontainer/on-create.sh new file mode 100755 index 000000000..2d823e864 --- /dev/null +++ b/.devcontainer/on-create.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# Start the database and mailserver +docker compose -f ./docker/compose-without-app.yml up -d + +# Install dependencies +npm install + +# Copy the env file +cp .env.example .env + +# Source the env file, export the variables +set -a +source .env +set +a + +# Run the migrations +npm run -w @documenso/prisma prisma:migrate-dev + +# Start the app +npm run dev diff --git a/package.json b/package.json index b66c194a2..3b2fbf6ca 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "private": true, "scripts": { "build": "turbo run build", - "dev": "turbo run dev --filter=@documenso/{web,marketing}", + "dev": "turbo run dev --filter=@documenso/web --filter=@documenso/marketing", "start": "cd apps && cd web && next start", "lint": "turbo run lint", "format": "prettier --write \"**/*.{js,jsx,cjs,mjs,ts,tsx,cts,mts,mdx}\"", From abc91f7eaccfe7459518d7c2c9f118e1fb55dacf Mon Sep 17 00:00:00 2001 From: Mythie Date: Sat, 9 Sep 2023 15:44:10 +1000 Subject: [PATCH 2/8] fix: update devcontainer --- .devcontainer/devcontainer.json | 1 + .devcontainer/on-create.sh | 3 --- .devcontainer/post-start.sh | 3 +++ 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100755 .devcontainer/post-start.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 59a318b7f..82c6d1e2b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,6 +10,7 @@ "ghcr.io/devcontainers/features/node:1": {} }, "onCreateCommand": "./.devcontainer/on-create.sh", + "postStartCommand": "./.devcontainer/post-start.sh", "forwardPorts": [ 3000, 54320, diff --git a/.devcontainer/on-create.sh b/.devcontainer/on-create.sh index 2d823e864..a66491ef7 100755 --- a/.devcontainer/on-create.sh +++ b/.devcontainer/on-create.sh @@ -16,6 +16,3 @@ set +a # Run the migrations npm run -w @documenso/prisma prisma:migrate-dev - -# Start the app -npm run dev diff --git a/.devcontainer/post-start.sh b/.devcontainer/post-start.sh new file mode 100755 index 000000000..80d19dc7c --- /dev/null +++ b/.devcontainer/post-start.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +npm run dev From 933076fa3f32641e2a75969dcd6f1ea7f020a1c4 Mon Sep 17 00:00:00 2001 From: Mythie Date: Sat, 9 Sep 2023 15:49:40 +1000 Subject: [PATCH 3/8] fix: update devcontainer --- .devcontainer/devcontainer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 82c6d1e2b..59a318b7f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,6 @@ "ghcr.io/devcontainers/features/node:1": {} }, "onCreateCommand": "./.devcontainer/on-create.sh", - "postStartCommand": "./.devcontainer/post-start.sh", "forwardPorts": [ 3000, 54320, From 9186cb4d7b220eb9e65c307fe0f7709286d0b182 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 9 Sep 2023 10:42:03 +0000 Subject: [PATCH 4/8] 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 5/8] 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 && ( - +