diff --git a/crates/acp/src/thread_view.rs b/crates/acp/src/thread_view.rs index 70458acd3a45336efb9460934e6b67691bfe730c..a31b72de0311a1fa220bdd2091455655d36dbf3f 100644 --- a/crates/acp/src/thread_view.rs +++ b/crates/acp/src/thread_view.rs @@ -124,8 +124,8 @@ impl AcpThreadView { let list_state = ListState::new( 0, - gpui::ListAlignment::Top, - px(1000.0), + gpui::ListAlignment::Bottom, + px(2048.0), cx.processor({ move |this: &mut Self, item: usize, window, cx| { let Some(entry) = this @@ -228,7 +228,7 @@ impl AcpThreadView { .child( div() .text_xs() - .p_2() + .p_3() .bg(cx.theme().colors().editor_background) .rounded_lg() .shadow_md() @@ -239,7 +239,7 @@ impl AcpThreadView { .into_any(), Role::Assistant => div() .text_ui(cx) - .p_4() + .p_5() .pt_2() .child(message_body) .into_any(), @@ -356,16 +356,22 @@ impl Render for AcpThreadView { v_flex() .key_context("MessageEditor") .on_action(cx.listener(Self::chat)) + .h_full() .child(match &self.thread_state { - ThreadState::Loading { .. } => { - div().p_2().child(Label::new("Connecting to Gemini...")) - } + ThreadState::Loading { .. } => v_flex() + .p_2() + .flex_1() + .justify_end() + .child(Label::new("Connecting to Gemini...")), ThreadState::LoadError(e) => div() .p_2() + .flex_1() + .justify_end() .child(Label::new(format!("Failed to load {e}")).into_any_element()), - ThreadState::Ready { .. } => div().h_full().child( + ThreadState::Ready { .. } => v_flex().flex_1().pb_4().child( list(self.list_state.clone()) - .with_sizing_behavior(gpui::ListSizingBehavior::Infer), + .with_sizing_behavior(gpui::ListSizingBehavior::Auto) + .flex_grow(), ), }) .when(self.send_task.is_some(), |this| {