Prevent modes from being vertically centered when row_count changes

Piotr Osiewicz created

Change summary

crates/search/src/project_search.rs | 35 ++++++++++++++++++------------
styles/src/style_tree/search.ts     |  4 ++
2 files changed, 24 insertions(+), 15 deletions(-)

Detailed changes

crates/search/src/project_search.rs 🔗

@@ -1954,20 +1954,27 @@ impl View for ProjectSearchBar {
                         .flex(2., true),
                 )
                 .with_child(
-                    Flex::column().with_child(
-                        Flex::row()
-                            .align_children_center()
-                            .with_child(self.render_search_mode_button(SearchMode::Text, cx))
-                            .with_children(semantic_index)
-                            .with_child(self.render_search_mode_button(SearchMode::Regex, cx))
-                            .constrained()
-                            .with_height(theme.workspace.toolbar.height)
-                            .contained()
-                            .with_style(theme.search.container)
-                            .aligned()
-                            .right()
-                            .flex(1., true),
-                    ),
+                    Flex::column()
+                        .with_child(
+                            Flex::row()
+                                .align_children_center()
+                                .with_child(self.render_search_mode_button(SearchMode::Text, cx))
+                                .with_children(semantic_index)
+                                .with_child(self.render_search_mode_button(SearchMode::Regex, cx))
+                                .constrained()
+                                .with_height(theme.workspace.toolbar.height)
+                                .contained()
+                                .with_style(theme.search.container)
+                                .aligned()
+                                .right()
+                                .flex(1., true),
+                        )
+                        .with_children(
+                            _search
+                                .read(cx)
+                                .filters_enabled
+                                .then(|| Flex::row().flex(1., true)),
+                        ),
                 )
                 .contained()
                 .flex_float()

styles/src/style_tree/search.ts 🔗

@@ -44,7 +44,7 @@ export default function search(): any {
                 base: {
                     ...text(theme.highest, "mono", "on"),
                     background: background(theme.highest, "on"),
-
+                    corner_radius: 2,
                     border: border(theme.highest, "on"),
 
                     padding: {
@@ -130,6 +130,8 @@ export default function search(): any {
             padding: {
                 left: 12,
                 right: 12,
+                top: 3,
+                bottom: 3,
             },
         },
         include_exclude_inputs: {