diff --git a/src/routes/v2/pages/Editor/nodes/TaskNode/context/TaskDetails/TaskDetails.tsx b/src/routes/v2/pages/Editor/nodes/TaskNode/context/TaskDetails/TaskDetails.tsx
index 947739fac..312baa593 100644
--- a/src/routes/v2/pages/Editor/nodes/TaskNode/context/TaskDetails/TaskDetails.tsx
+++ b/src/routes/v2/pages/Editor/nodes/TaskNode/context/TaskDetails/TaskDetails.tsx
@@ -2,11 +2,15 @@ import { observer } from "mobx-react-lite";
import { useEffect, useState } from "react";
import { StackingControls } from "@/components/shared/ReactFlow/FlowControls/StackingControls";
+import {
+ Collapsible,
+ CollapsibleContent,
+ CollapsibleTrigger,
+} from "@/components/ui/collapsible";
import { ColorPicker } from "@/components/ui/color";
import { Icon } from "@/components/ui/icon";
import { BlockStack, InlineStack } from "@/components/ui/layout";
import { Separator } from "@/components/ui/separator";
-import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { Heading, Text } from "@/components/ui/typography";
import { AnnotationsBlock } from "@/routes/v2/pages/Editor/components/AnnotationsBlock/AnnotationsBlock";
import { useEditorSession } from "@/routes/v2/pages/Editor/store/EditorSessionContext";
@@ -23,8 +27,6 @@ import { TaskArgumentsEditor } from "./components/TaskArgumentsEditor";
import { useTaskConfigActions } from "./components/useTaskConfigActions";
import { useTask } from "./hooks/useTask";
-const TAB_CONTENT_CLASS = "overflow-y-auto w-full px-4 py-4 pr-5";
-
interface TaskDetailsProps {
entityId: string;
}
@@ -39,13 +41,14 @@ export const TaskDetails = observer(function TaskDetails({
const task = useTask(entityId);
const { focusedArgumentName } = editor;
- const [activeTab, setActiveTab] = useState("arguments");
+ const [argumentsOpen, setArgumentsOpen] = useState(true);
+ const [configOpen, setConfigOpen] = useState(true);
useEffect(() => {
- if (focusedArgumentName && activeTab !== "arguments") {
- setActiveTab("arguments");
+ if (focusedArgumentName && !argumentsOpen) {
+ setArgumentsOpen(true);
}
- }, [focusedArgumentName, activeTab]);
+ }, [focusedArgumentName, argumentsOpen]);
if (!spec || !task) {
return null;
@@ -103,66 +106,89 @@ export const TaskDetails = observer(function TaskDetails({
/>
- {/* ── Tabs ── */}
-
-
-
-
- Arguments
-
-
-
- Config
-
-
-
+ {/* ── Sections ── */}
+
{/* ── Arguments ── */}
-
-
-
- Inputs
-
-
-
-
- Outputs
-
+
+
+
+
+
+ Arguments
+
+
+
+
+
+
+
+ Inputs
+
+
+
+
+ Outputs
+
+
-
-
+
+
{/* ── Configuration ── */}
-
-
-
-
- Task color
+
+
+
+
+
+ Config
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ Task color
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
});