Update collab button styles

This commit is contained in:
Nate Butler 2023-11-30 09:12:39 -05:00
parent 92d2048aa4
commit 82b3efa16c
2 changed files with 75 additions and 62 deletions

View file

@ -239,13 +239,21 @@ impl Render for CollabTitlebarItem {
.when(is_in_room, |this| { .when(is_in_room, |this| {
this.child( this.child(
h_stack() h_stack()
.gap_1()
.child( .child(
h_stack() h_stack()
.child(Button::new( .gap_1()
.child(
Button::new(
"toggle_sharing", "toggle_sharing",
if is_shared { "Unshare" } else { "Share" }, if is_shared { "Unshare" } else { "Share" },
)) )
.child(IconButton::new("leave-call", ui::Icon::Exit).on_click({ .style(ButtonStyle2::Subtle),
)
.child(
IconButton::new("leave-call", ui::Icon::Exit)
.style(ButtonStyle2::Subtle)
.on_click({
let workspace = workspace.clone(); let workspace = workspace.clone();
move |_, cx| { move |_, cx| {
workspace workspace
@ -254,11 +262,16 @@ impl Render for CollabTitlebarItem {
}) })
.log_err(); .log_err();
} }
})), }),
),
) )
.child( .child(
h_stack() h_stack()
.child(IconButton::new("mute-microphone", mic_icon).on_click({ .gap_1()
.child(
IconButton::new("mute-microphone", mic_icon)
.style(ButtonStyle2::Subtle)
.on_click({
let workspace = workspace.clone(); let workspace = workspace.clone();
move |_, cx| { move |_, cx| {
workspace workspace
@ -267,8 +280,12 @@ impl Render for CollabTitlebarItem {
}) })
.log_err(); .log_err();
} }
})) }),
.child(IconButton::new("mute-sound", speakers_icon).on_click({ )
.child(
IconButton::new("mute-sound", speakers_icon)
.style(ButtonStyle2::Subtle)
.on_click({
let workspace = workspace.clone(); let workspace = workspace.clone();
move |_, cx| { move |_, cx| {
workspace workspace
@ -277,16 +294,19 @@ impl Render for CollabTitlebarItem {
}) })
.log_err(); .log_err();
} }
})) }),
.child(IconButton::new("screen-share", ui::Icon::Screen).on_click( )
move |_, cx| { .child(
IconButton::new("screen-share", ui::Icon::Screen)
.style(ButtonStyle2::Subtle)
.on_click(move |_, cx| {
workspace workspace
.update(cx, |this, cx| { .update(cx, |this, cx| {
this.call_state().toggle_screen_share(cx); this.call_state().toggle_screen_share(cx);
}) })
.log_err(); .log_err();
}, }),
)) )
.pl_2(), .pl_2(),
), ),
) )
@ -295,20 +315,14 @@ impl Render for CollabTitlebarItem {
if let Some(user) = current_user { if let Some(user) = current_user {
this.when_some(user.avatar.clone(), |this, avatar| { this.when_some(user.avatar.clone(), |this, avatar| {
this.child( this.child(
PopoverMenu::new(
ButtonLike::new("user-menu") ButtonLike::new("user-menu")
.child(h_stack().gap_0p5().child(Avatar::data(avatar)).child( .child(
h_stack().gap_0p5().child(Avatar::data(avatar)).child(
IconElement::new(Icon::ChevronDown).color(Color::Muted), IconElement::new(Icon::ChevronDown).color(Color::Muted),
)) ),
.style(ButtonStyle2::Subtle)
.tooltip(move |cx| Tooltip::text("Toggle User Menu", cx))
.into_any_element(),
) )
.children(vec![ .style(ButtonStyle2::Subtle)
ListItem::new("foo"), .tooltip(move |cx| Tooltip::text("Toggle User Menu", cx)),
ListItem::new("bar"),
ListItem::new("baz"),
]),
) )
}) })
} else { } else {

View file

@ -1,10 +1,9 @@
use gpui::{ use gpui::{div, overlay, AnyElement, Div, ParentElement, RenderOnce, Styled, WindowContext};
div, overlay, AnyElement, Div, Element, ElementId, IntoElement, ParentElement, RenderOnce,
Styled, WindowContext,
};
use smallvec::SmallVec; use smallvec::SmallVec;
use crate::{prelude::*, ElevationIndex, List, Popover}; use crate::{prelude::*, Popover};
// 🚧 Under Construction
#[derive(IntoElement)] #[derive(IntoElement)]
pub struct PopoverMenu { pub struct PopoverMenu {
@ -15,7 +14,7 @@ pub struct PopoverMenu {
impl RenderOnce for PopoverMenu { impl RenderOnce for PopoverMenu {
type Rendered = Div; type Rendered = Div;
fn render(self, cx: &mut WindowContext) -> Self::Rendered { fn render(self, _cx: &mut WindowContext) -> Self::Rendered {
div() div()
.relative() .relative()
.child(self.trigger) .child(self.trigger)