crates/agent_ui/src/agent_configuration.rs 🔗
@@ -321,46 +321,62 @@ impl AgentConfiguration {
.justify_between()
.child(
v_flex()
+ .w_full()
.gap_0p5()
- .child(Headline::new("LLM Providers"))
+ .child(
+ h_flex()
+ .w_full()
+ .gap_2()
+ .justify_between()
+ .child(Headline::new("LLM Providers"))
+ .child(
+ PopoverMenu::new("add-provider-popover")
+ .trigger(
+ Button::new("add-provider", "Add Provider")
+ .icon_position(IconPosition::Start)
+ .icon(IconName::Plus)
+ .icon_size(IconSize::Small)
+ .icon_color(Color::Muted)
+ .label_size(LabelSize::Small),
+ )
+ .anchor(gpui::Corner::TopRight)
+ .menu({
+ let workspace = self.workspace.clone();
+ move |window, cx| {
+ Some(ContextMenu::build(
+ window,
+ cx,
+ |menu, _window, _cx| {
+ menu.header("Compatible APIs").entry(
+ "OpenAI",
+ None,
+ {
+ let workspace =
+ workspace.clone();
+ move |window, cx| {
+ workspace
+ .update(cx, |workspace, cx| {
+ AddLlmProviderModal::toggle(
+ LlmCompatibleProvider::OpenAi,
+ workspace,
+ window,
+ cx,
+ );
+ })
+ .log_err();
+ }
+ },
+ )
+ },
+ ))
+ }
+ }),
+ ),
+ )
.child(
Label::new("Add at least one provider to use AI-powered features.")
.color(Color::Muted),
),
- )
- .child(
- PopoverMenu::new("add-provider-popover")
- .trigger(
- Button::new("add-provider", "Add Provider")
- .icon_position(IconPosition::Start)
- .icon(IconName::Plus)
- .icon_size(IconSize::Small)
- .icon_color(Color::Muted)
- .label_size(LabelSize::Small),
- )
- .anchor(gpui::Corner::TopRight)
- .menu({
- let workspace = self.workspace.clone();
- move |window, cx| {
- Some(ContextMenu::build(window, cx, |menu, _window, _cx| {
- menu.header("Compatible APIs").entry("OpenAI", None, {
- let workspace = workspace.clone();
- move |window, cx| {
- workspace
- .update(cx, |workspace, cx| {
- AddLlmProviderModal::toggle(
- LlmCompatibleProvider::OpenAi,
- workspace,
- window,
- cx,
- );
- })
- .log_err();
- }
- })
- }))
- }
- }),
),
)
.child(