WIP

Nate Butler created

Change summary

assets/icons/stop_sharing.svg              |  2 +
crates/storybook/src/modules/status_bar.rs | 47 +++++++++++++++++++++--
crates/storybook/src/modules/title_bar.rs  |  8 ++--
3 files changed, 48 insertions(+), 9 deletions(-)

Detailed changes

assets/icons/stop_sharing.svg 🔗

@@ -0,0 +1,5 @@
+<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M7.70312 4L7.26046 2.97339C7.10239 2.60679 6.74141 2.36933 6.34219 2.36933H2.5C2.22386 2.36933 2 2.59319 2 2.86933V4.375V8" stroke="#11181C" stroke-width="1.25" stroke-linecap="round"/>

crates/storybook/src/modules/status_bar.rs 🔗

@@ -1,6 +1,6 @@
 use std::marker::PhantomData;
 
-use crate::components::icon_button;
+use crate::components::{icon_button, tool_divider};
 use crate::theme::{theme, Theme};
 use gpui2::style::StyleHelpers;
 use gpui2::{elements::div, IntoElement};
@@ -89,21 +89,58 @@ impl<V: 'static> StatusBar<V> {
         let theme = theme(cx);
 
         div()
+            .py_0p5()
+            .px_1()
             .flex()
             .items_center()
             .justify_between()
             .w_full()
             .fill(theme.lowest.base.default.background)
             .child(self.left_tools(theme))
-            .child(div())
+            .child(self.right_tools(theme))
     }
 
     fn left_tools(&self, theme: &Theme) -> impl Element<V> {
         div()
             .flex()
             .items_center()
-            .gap_px()
-            .child(icon_button("icons/folder_tree_16.svg"))
-            .child(icon_button("icons/bolt_16.svg"))
+            .gap_1()
+            .child(icon_button("icons/project.svg"))
+            .child(icon_button("icons/hash.svg"))
+            .child(tool_divider())
+            .child(icon_button("icons/error.svg"))
+    }
+    fn right_tools(&self, theme: &Theme) -> impl Element<V> {
+        div()
+            .flex()
+            .items_center()
+            .gap_2()
+            .child(
+                div()
+                    .flex()
+                    .items_center()
+                    .gap_1()
+                    .child(div().px_1().text_xs().child("116:25"))
+                    .child(div().px_1().text_xs().child("Rust")),
+            )
+            .child(tool_divider())
+            .child(
+                div()
+                    .flex()
+                    .items_center()
+                    .gap_1()
+                    .child(icon_button("icons/copilot.svg"))
+                    .child(icon_button("icons/feedback.svg")),
+            )
+            .child(tool_divider())
+            .child(
+                div()
+                    .flex()
+                    .items_center()
+                    .gap_1()
+                    .child(icon_button("icons/terminal.svg"))
+                    .child(icon_button("icons/conversations.svg"))
+                    .child(icon_button("icons/ai.svg")),
+            )
     }
 }

crates/storybook/src/modules/title_bar.rs 🔗

@@ -1,7 +1,7 @@
 use std::marker::PhantomData;
 
 use crate::components::{avatar, icon_button, text_button, tool_divider, Avatar, TextButton};
-use crate::prelude::{ButtonVariant, Shape};
+use crate::prelude::Shape;
 use crate::theme::theme;
 use gpui2::style::StyleHelpers;
 use gpui2::{elements::div, IntoElement};
@@ -94,9 +94,9 @@ impl<V: 'static> TitleBar<V> {
                             .flex()
                             .items_center()
                             .gap_1()
-                            .child(icon_button("icons/radix/mic.svg"))
-                            .child(icon_button("icons/radix/speaker-loud.svg"))
-                            .child(icon_button("icons/radix/desktop.svg")),
+                            .child(icon_button("icons/mic.svg"))
+                            .child(icon_button("icons/speaker-loud.svg"))
+                            .child(icon_button("icons/desktop.svg")),
                     )
                     .child(
                         div().px_2().flex().items_center().child(