From ec8b9810b4231cd6a5c69ccd930b6c50999fc997 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Tue, 7 Apr 2026 11:06:23 -0500 Subject: feat(app): better subagent experience (#20708) --- packages/ui/src/components/basic-tool.tsx | 142 ++++++++++++++++++------------ 1 file changed, 86 insertions(+), 56 deletions(-) (limited to 'packages/ui/src/components/basic-tool.tsx') diff --git a/packages/ui/src/components/basic-tool.tsx b/packages/ui/src/components/basic-tool.tsx index a02fe941b..7d18dfacd 100644 --- a/packages/ui/src/components/basic-tool.tsx +++ b/packages/ui/src/components/basic-tool.tsx @@ -34,6 +34,9 @@ export interface BasicToolProps { locked?: boolean animated?: boolean onSubtitleClick?: () => void + onTriggerClick?: JSX.EventHandlerUnion + triggerHref?: string + clickable?: boolean } const SPRING = { type: "spring" as const, visualDuration: 0.35, bounce: 0 } @@ -121,74 +124,101 @@ export function BasicTool(props: BasicToolProps) { setState("open", value) } - return ( - - -
-
-
- - - {(trigger) => ( -
-
+ const trigger = () => ( +
+
+
+ + + {(title) => ( +
+
+ + + + + { + if (props.onSubtitleClick) { + e.stopPropagation() + props.onSubtitleClick() + } }} > - + {title().subtitle} - - + + + + {(arg) => ( { - if (props.onSubtitleClick) { - e.stopPropagation() - props.onSubtitleClick() - } + [title().argsClass ?? ""]: !!title().argsClass, }} > - {trigger().subtitle} + {arg} - - - - {(arg) => ( - - {arg} - - )} - - - -
- - {trigger().action} + )} + -
- )} -
- {props.trigger as JSX.Element} -
-
-
- - - + +
+ + {title().action} + +
+ )} + + {props.trigger as JSX.Element} +
- +
+ + + +
+ ) + + return ( + + + {trigger()} + + } + > + {(href) => ( + + {trigger()} + + )} +