collab_ui: Show the chat panel icon when the chat panel is active (#22593)

This PR is a follow-up to #22200 that makes it so the chat panel icon is
visible when the chat panel is active, even if not in a call (when using
the `when_in_call` setting).

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2025-01-02 17:53:34 -05:00 committed by GitHub
parent a79def005d
commit a53be7b4be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1135,15 +1135,20 @@ impl Panel for ChatPanel {
} }
fn icon(&self, cx: &WindowContext) -> Option<ui::IconName> { fn icon(&self, cx: &WindowContext) -> Option<ui::IconName> {
match ChatPanelSettings::get_global(cx).button { let show_icon = match ChatPanelSettings::get_global(cx).button {
ChatPanelButton::Never => None, ChatPanelButton::Never => false,
ChatPanelButton::Always => Some(ui::IconName::MessageBubbles), ChatPanelButton::Always => true,
ChatPanelButton::WhenInCall => ActiveCall::global(cx) ChatPanelButton::WhenInCall => {
.read(cx) let is_in_call = ActiveCall::global(cx)
.room() .read(cx)
.filter(|room| room.read(cx).contains_guests()) .room()
.map(|_| ui::IconName::MessageBubbles), .map_or(false, |room| room.read(cx).contains_guests());
}
self.active || is_in_call
}
};
show_icon.then(|| ui::IconName::MessageBubbles)
} }
fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> { fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {