From b9825e3c8240c39c88e82188484afd137f2ef0a4 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Wed, 26 Mar 2025 10:53:04 -0700 Subject: [PATCH] update too many parameters created when using login block (#2023) --- .../LoginBlockCredentialSelector.tsx | 69 ++++++++++++++----- .../editor/nodes/LoginNode/LoginNode.tsx | 1 + 2 files changed, 52 insertions(+), 18 deletions(-) diff --git a/skyvern-frontend/src/routes/workflows/editor/nodes/LoginNode/LoginBlockCredentialSelector.tsx b/skyvern-frontend/src/routes/workflows/editor/nodes/LoginNode/LoginBlockCredentialSelector.tsx index 6f49164c..eb2587ad 100644 --- a/skyvern-frontend/src/routes/workflows/editor/nodes/LoginNode/LoginBlockCredentialSelector.tsx +++ b/skyvern-frontend/src/routes/workflows/editor/nodes/LoginNode/LoginBlockCredentialSelector.tsx @@ -8,7 +8,7 @@ import { import { Skeleton } from "@/components/ui/skeleton"; import { useCredentialsQuery } from "@/routes/workflows/hooks/useCredentialsQuery"; import CloudContext from "@/store/CloudContext"; -import { useContext, useId } from "react"; +import { useContext } from "react"; import { useWorkflowParametersState } from "../../useWorkflowParametersState"; import { CredentialsModal } from "@/routes/credentials/CredentialsModal"; import { PlusIcon } from "@radix-ui/react-icons"; @@ -16,14 +16,20 @@ import { CredentialModalTypes, useCredentialModalState, } from "@/routes/credentials/useCredentialModalState"; +import { useNodes } from "@xyflow/react"; +import { AppNode } from ".."; +import { isLoginNode } from "./types"; +import { parameterIsSkyvernCredential } from "../../types"; type Props = { + nodeId: string; value?: string; onChange?: (value: string) => void; }; -function LoginBlockCredentialSelector({ value, onChange }: Props) { +function LoginBlockCredentialSelector({ nodeId, value, onChange }: Props) { const { setIsOpen, setType } = useCredentialModalState(); + const nodes = useNodes(); const [workflowParameters, setWorkflowParameters] = useWorkflowParametersState(); const credentialParameters = workflowParameters.filter( @@ -38,7 +44,6 @@ function LoginBlockCredentialSelector({ value, onChange }: Props) { const { data: credentials = [], isFetching } = useCredentialsQuery({ enabled: isCloud, }); - const noneItemValue = useId(); if (isCloud && isFetching) { return ; @@ -81,38 +86,66 @@ function LoginBlockCredentialSelector({ value, onChange }: Props) { <>