diff --git a/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx b/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx index 98a8030203..3726f30575 100644 --- a/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx +++ b/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx @@ -61,6 +61,7 @@ type Props = { onCreateTag: () => void; environment: string; secretPath: string; + handleSecretShare: () => void; }; export const SecretItem = memo( @@ -75,7 +76,8 @@ export const SecretItem = memo( onCreateTag, onToggleSecretSelect, environment, - secretPath + secretPath, + handleSecretShare }: Props) => { const { currentWorkspace } = useWorkspace(); const { permission } = useProjectPermission(); @@ -420,8 +422,9 @@ export const SecretItem = memo( 0 - ? `Every ${secretReminderRepeatDays} day${Number(secretReminderRepeatDays) > 1 ? "s" : "" - } + ? `Every ${secretReminderRepeatDays} day${ + Number(secretReminderRepeatDays) > 1 ? "s" : "" + } ` : "Reminder" } @@ -461,6 +464,20 @@ export const SecretItem = memo( )} + + + + + + handlePopUpOpen("createSharedSecret", { + value: secret.valueOverride ?? secret.value + }) + } /> ))} @@ -396,6 +403,12 @@ export const SecretListView = ({ isOpen={popUp.createTag.isOpen} onToggle={(isOpen) => handlePopUpToggle("createTag", isOpen)} /> + ); }; diff --git a/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts b/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts index c80296b7fd..1e1e4c7a8b 100644 --- a/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts +++ b/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts @@ -10,6 +10,7 @@ import { faCopy, faEllipsis, faKey, + faShare, faTags } from "@fortawesome/free-solid-svg-icons"; import { z } from "zod"; @@ -66,7 +67,8 @@ export enum FontAwesomeSpriteName { Override = "secret-override", Close = "close", CheckedCircle = "check-circle", - ReplicatedSecretKey = "secret-replicated" + ReplicatedSecretKey = "secret-replicated", + ShareSecret = "share-secret" } // this is an optimization technique @@ -82,5 +84,6 @@ export const FontAwesomeSpriteSymbols = [ { icon: faCodeBranch, symbol: FontAwesomeSpriteName.Override }, { icon: faClose, symbol: FontAwesomeSpriteName.Close }, { icon: faCheckCircle, symbol: FontAwesomeSpriteName.CheckedCircle }, - { icon: faClone, symbol: FontAwesomeSpriteName.ReplicatedSecretKey } + { icon: faClone, symbol: FontAwesomeSpriteName.ReplicatedSecretKey }, + { icon: faShare, symbol: FontAwesomeSpriteName.ShareSecret } ]; diff --git a/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx b/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx index 07a5d2f058..5a97dd9e41 100644 --- a/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx +++ b/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx @@ -6,14 +6,7 @@ import * as yup from "yup"; import { createNotification } from "@app/components/notifications"; import { encryptSymmetric } from "@app/components/utilities/cryptography/crypto"; -import { - Button, - FormControl, - Input, - ModalClose, - Select, - SelectItem -} from "@app/components/v2"; +import { Button, FormControl, Input, ModalClose, Select, SelectItem } from "@app/components/v2"; import { useCreatePublicSharedSecret, useCreateSharedSecret } from "@app/hooks/api/secretSharing"; const schema = yup.object({ @@ -31,7 +24,8 @@ export const AddShareSecretForm = ({ handleSubmit, control, isSubmitting, - setNewSharedSecret + setNewSharedSecret, + isInputDisabled }: { isPublic: boolean; inModal: boolean; @@ -39,6 +33,7 @@ export const AddShareSecretForm = ({ control: any; isSubmitting: boolean; setNewSharedSecret: (value: string) => void; + isInputDisabled?: boolean; }) => { const publicSharedSecretCreator = useCreatePublicSharedSecret(); const privateSharedSecretCreator = useCreateSharedSecret(); @@ -124,12 +119,13 @@ export const AddShareSecretForm = ({ }; return (
-
+
(