Hide unused extension types from the extension UI (#34166)

This PR hides "slash commands" and "indexed docs providers" from the
extensions UI as these are virtually completely unused types of
extensions.

Release Notes:

- N/A
This commit is contained in:
Danilo Leal 2025-07-09 20:57:35 -03:00 committed by GitHub
parent 95784d53ca
commit dc591fe7c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -718,23 +718,33 @@ impl ExtensionsPage {
} }
parent.child( parent.child(
h_flex().gap_2().children( h_flex().gap_1().children(
extension extension
.manifest .manifest
.provides .provides
.iter() .iter()
.map(|provides| { .filter_map(|provides| {
match provides {
ExtensionProvides::SlashCommands
| ExtensionProvides::IndexedDocsProviders => {
return None;
}
_ => {}
}
Some(
div() div()
.bg(cx.theme().colors().element_background) .px_1()
.px_0p5()
.border_1() .border_1()
.border_color(cx.theme().colors().border)
.rounded_sm() .rounded_sm()
.border_color(cx.theme().colors().border)
.bg(cx.theme().colors().element_background)
.child( .child(
Label::new(extension_provides_label( Label::new(extension_provides_label(
*provides, *provides,
)) ))
.size(LabelSize::XSmall), .size(LabelSize::XSmall),
),
) )
}) })
.collect::<Vec<_>>(), .collect::<Vec<_>>(),
@ -744,8 +754,7 @@ impl ExtensionsPage {
) )
.child( .child(
h_flex() h_flex()
.gap_2() .gap_1()
.justify_between()
.children(buttons.upgrade) .children(buttons.upgrade)
.children(buttons.configure) .children(buttons.configure)
.child(buttons.install_or_uninstall), .child(buttons.install_or_uninstall),
@ -1452,12 +1461,18 @@ impl Render for ExtensionsPage {
this.change_provides_filter(None, cx); this.change_provides_filter(None, cx);
})), })),
) )
.children(ExtensionProvides::iter().map(|provides| { .children(ExtensionProvides::iter().filter_map(|provides| {
match provides {
ExtensionProvides::SlashCommands
| ExtensionProvides::IndexedDocsProviders => return None,
_ => {}
}
let label = extension_provides_label(provides); let label = extension_provides_label(provides);
Button::new( let button_id = SharedString::from(format!("filter-category-{}", label));
SharedString::from(format!("filter-category-{}", label)),
label, Some(
) Button::new(button_id, label)
.style(if self.provides_filter == Some(provides) { .style(if self.provides_filter == Some(provides) {
ButtonStyle::Filled ButtonStyle::Filled
} else { } else {
@ -1468,7 +1483,8 @@ impl Render for ExtensionsPage {
cx.listener(move |this, _event, _, cx| { cx.listener(move |this, _event, _, cx| {
this.change_provides_filter(Some(provides), cx); this.change_provides_filter(Some(provides), cx);
}) })
}) }),
)
})), })),
) )
.child(self.render_feature_upsells(cx)) .child(self.render_feature_upsells(cx))