From 413e6a838fb2f317b2d5ba0f67d985fa10c008c9 Mon Sep 17 00:00:00 2001 From: Kerem Yilmaz Date: Mon, 7 Oct 2024 10:53:47 -0700 Subject: [PATCH] Task node section tooltips and misc updates (#917) Co-authored-by: Muhammed Salih Altun --- .../src/components/HelpTooltip.tsx | 26 ++++++ .../editor/nodes/TaskNode/TaskNode.tsx | 86 +++++++++++++------ .../TaskNode/TaskNodeParametersPanel.tsx | 19 +--- .../workflows/editor/nodes/TaskNode/types.ts | 8 ++ 4 files changed, 95 insertions(+), 44 deletions(-) create mode 100644 skyvern-frontend/src/components/HelpTooltip.tsx diff --git a/skyvern-frontend/src/components/HelpTooltip.tsx b/skyvern-frontend/src/components/HelpTooltip.tsx new file mode 100644 index 00000000..ab2f17d6 --- /dev/null +++ b/skyvern-frontend/src/components/HelpTooltip.tsx @@ -0,0 +1,26 @@ +import { QuestionMarkCircledIcon } from "@radix-ui/react-icons"; +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "./ui/tooltip"; + +type Props = { + content: string; +}; + +function HelpTooltip({ content }: Props) { + return ( + + + + + + {content} + + + ); +} + +export { HelpTooltip }; diff --git a/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNode.tsx b/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNode.tsx index 2f3dfdc0..c30ea97b 100644 --- a/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNode.tsx +++ b/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNode.tsx @@ -1,4 +1,5 @@ import { AutoResizingTextarea } from "@/components/AutoResizingTextarea/AutoResizingTextarea"; +import { HelpTooltip } from "@/components/HelpTooltip"; import { Accordion, AccordionContent, @@ -28,7 +29,11 @@ import { EditableNodeTitle } from "../components/EditableNodeTitle"; import { NodeActionMenu } from "../NodeActionMenu"; import { TaskNodeDisplayModeSwitch } from "./TaskNodeDisplayModeSwitch"; import { TaskNodeParametersPanel } from "./TaskNodeParametersPanel"; -import type { TaskNode, TaskNodeDisplayMode } from "./types"; +import { + helpTooltipContent, + type TaskNode, + type TaskNodeDisplayMode, +} from "./types"; import { useParams } from "react-router-dom"; function getLocalStorageKey(workflowPermanentId: string, label: string) { @@ -124,12 +129,16 @@ function TaskNode({ id, data }: NodeProps) { const advancedContent = ( <> - + - Content + +
+
Content
+
+ +
+
+
@@ -173,7 +182,14 @@ function TaskNode({ id, data }: NodeProps) { - Extraction + +
+
Extraction
+
+ +
+
+
@@ -225,7 +241,14 @@ function TaskNode({ id, data }: NodeProps) { - Limits + +
+
Limits
+
+ +
+
+
@@ -269,7 +292,7 @@ function TaskNode({ id, data }: NodeProps) {
) { - Two Factor Authentication + +
+
Two-Factor Authentication
+
+ +
+
+
@@ -351,13 +381,13 @@ function TaskNode({ id, data }: NodeProps) { handleChange("totpVerificationUrl", event.target.value); }} value={inputs.totpVerificationUrl ?? ""} - placeholder="https://" + placeholder="Link your 2FA storage endpoint" className="nopan" />
{ @@ -367,7 +397,7 @@ function TaskNode({ id, data }: NodeProps) { handleChange("totpIdentifier", event.target.value); }} value={inputs.totpIdentifier ?? ""} - placeholder="Identifier" + placeholder="Add an ID that links your TOTP to the task" className="nopan" />
@@ -415,19 +445,23 @@ function TaskNode({ id, data }: NodeProps) { }} />
- { - setDisplayMode(mode); - if (workflowPermanentId) { - localStorage.setItem( - getLocalStorageKey(workflowPermanentId, label), - mode, - ); - } - }} - /> - +
+ { + setDisplayMode(mode); + if (workflowPermanentId) { + localStorage.setItem( + getLocalStorageKey(workflowPermanentId, label), + mode, + ); + } + }} + /> + {displayMode === "basic" && ( + + )} +
{displayMode === "basic" && basicContent} {displayMode === "advanced" && advancedContent}
diff --git a/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNodeParametersPanel.tsx b/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNodeParametersPanel.tsx index efc9b7c7..5afa2182 100644 --- a/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNodeParametersPanel.tsx +++ b/skyvern-frontend/src/routes/workflows/editor/nodes/TaskNode/TaskNodeParametersPanel.tsx @@ -1,11 +1,4 @@ import { MultiSelect } from "@/components/ui/multi-select"; -import { - Tooltip, - TooltipContent, - TooltipProvider, - TooltipTrigger, -} from "@/components/ui/tooltip"; -import { QuestionMarkCircledIcon } from "@radix-ui/react-icons"; import { useWorkflowParametersState } from "../../useWorkflowParametersState"; type Props = { @@ -32,19 +25,9 @@ function TaskNodeParametersPanel({ }); return ( -
+

Parameters

- - - - - - - Select the parameters that will be passed to the task. - - -