Skip to content

Commit

Permalink
Fix audio tooltips
Browse files Browse the repository at this point in the history
  • Loading branch information
AaronFeickert committed Dec 12, 2024
1 parent d7eba54 commit 0fc491c
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 8 deletions.
6 changes: 6 additions & 0 deletions crates/call/src/cross_platform/room.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1288,6 +1288,12 @@ impl Room {
})
}

pub fn muted_by_user(&self) -> bool {
self.live_kit
.as_ref()
.map_or(false, |live_kit| live_kit.muted_by_user)
}

pub fn is_speaking(&self) -> bool {
self.live_kit
.as_ref()
Expand Down
6 changes: 6 additions & 0 deletions crates/call/src/macos/room.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1307,6 +1307,12 @@ impl Room {
})
}

pub fn muted_by_user(&self) -> bool {
self.live_kit
.as_ref()
.map_or(false, |live_kit| live_kit.muted_by_user)
}

pub fn is_speaking(&self) -> bool {
self.live_kit
.as_ref()
Expand Down
28 changes: 20 additions & 8 deletions crates/title_bar/src/collab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,7 @@ impl TitleBar {
let is_local = project.is_local() || project.is_via_ssh();
let is_shared = is_local && project.is_shared();
let is_muted = room.is_muted();
let muted_by_user = room.muted_by_user();
let is_deafened = room.is_deafened().unwrap_or(false);
let is_screen_sharing = room.is_screen_sharing();
let can_use_microphone = room.can_use_microphone(cx);
Expand Down Expand Up @@ -365,16 +366,16 @@ impl TitleBar {
if is_muted {
if is_deafened {
Tooltip::with_meta(
"Unmute microphone",
"Unmute Microphone",
None,
"Audio will be unmuted",
cx,
)
} else {
Tooltip::text("Unmute microphone", cx)
Tooltip::text("Unmute Microphone", cx)
}
} else {
Tooltip::text("Mute microphone", cx)
Tooltip::text("Mute Microphone", cx)
}
})
.style(ButtonStyle::Subtle)
Expand All @@ -401,12 +402,23 @@ impl TitleBar {
.icon_size(IconSize::Small)
.selected(is_deafened)
.tooltip(move |cx| {
let (label, details) = if is_deafened {
("Unmute Audio", "Mic will be unmuted")
if is_deafened {
let label = "Unmute Audio";

if !muted_by_user {
Tooltip::with_meta(label, None, "Microphone will be unmuted", cx)
} else {
Tooltip::text(label, cx)
}
} else {
("Mute Audio", "Mic will be muted")
};
Tooltip::with_meta(label, None, details, cx)
let label = "Mute Audio";

if !muted_by_user {
Tooltip::with_meta(label, None, "Microphone will be muted", cx)
} else {
Tooltip::text(label, cx)
}
}
})
.on_click(move |_, cx| toggle_deafen(&Default::default(), cx))
.into_any_element(),
Expand Down

0 comments on commit 0fc491c

Please sign in to comment.