diff --git a/assets/icons/forward_arrow_up.svg b/assets/icons/forward_arrow_up.svg new file mode 100644 index 0000000000000000000000000000000000000000..b4abcb2083206ffe288cf38a13348055e9521c4f --- /dev/null +++ b/assets/icons/forward_arrow_up.svg @@ -0,0 +1,4 @@ + + + + diff --git a/crates/agent_ui/src/acp/thread_view/active_thread.rs b/crates/agent_ui/src/acp/thread_view/active_thread.rs index 49c95f21cf0949afc50853c80b65986d65a9e528..1f377b345026547046044825903ba0c9a55fa412 100644 --- a/crates/agent_ui/src/acp/thread_view/active_thread.rs +++ b/crates/agent_ui/src/acp/thread_view/active_thread.rs @@ -2306,6 +2306,8 @@ impl AcpThreadView { let title = self.thread.read(cx).title(); let server_view = self.server_view.clone(); + let is_done = self.thread.read(cx).status() == ThreadStatus::Idle; + Some( h_flex() .h(Tab::container_height(cx)) @@ -2314,9 +2316,20 @@ impl AcpThreadView { .w_full() .justify_between() .border_b_1() - .border_color(cx.theme().colors().border_variant) + .border_color(cx.theme().colors().border) .bg(cx.theme().colors().editor_background.opacity(0.2)) - .child(Label::new(title).color(Color::Muted)) + .child( + h_flex() + .child( + Icon::new(IconName::ForwardArrowUp) + .size(IconSize::Small) + .color(Color::Muted), + ) + .child(Label::new(title).color(Color::Muted).ml_2().mr_1()) + .when(is_done, |this| { + this.child(Icon::new(IconName::Check).color(Color::Success)) + }), + ) .child( IconButton::new("minimize_subagent", IconName::Minimize) .icon_size(IconSize::Small) @@ -3616,6 +3629,8 @@ impl AcpThreadView { if let Some(editing_index) = self.editing_message && editing_index < entry_ix { + let is_subagent = self.is_subagent(); + let backdrop = div() .id(("backdrop", entry_ix)) .size_full() @@ -3629,7 +3644,7 @@ impl AcpThreadView { div() .relative() .child(primary) - .child(backdrop) + .when(!is_subagent, |this| this.child(backdrop)) .into_any_element() } else { primary @@ -5876,7 +5891,7 @@ impl AcpThreadView { if is_canceled_or_failed { "Subagent Canceled" } else { - "Spawning Subagent…" + "Creating Subagent…" } .into() }); diff --git a/crates/icons/src/icons.rs b/crates/icons/src/icons.rs index 7daefe5ddc089f84222a855f9fb9005e9dab6d07..1f6e9c5fa15f5b8eca0bfd84a08ff168dbc7f6c6 100644 --- a/crates/icons/src/icons.rs +++ b/crates/icons/src/icons.rs @@ -134,6 +134,7 @@ pub enum IconName { FontSize, FontWeight, ForwardArrow, + ForwardArrowUp, GenericClose, GenericMaximize, GenericMinimize,