titlebar: show "Share project" button only in local projects. (#3795)

Fixes '"Share" button is shown even for remote projects'.

Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2023-12-23 00:49:51 +01:00 committed by GitHub
parent 1ebfafc03d
commit ca7e504817
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -169,27 +169,31 @@ impl Render for CollabTitlebarItem {
.pr_1()
.when_some(room, |this, room| {
let room = room.read(cx);
let is_shared = self.project.read(cx).is_shared();
let project = self.project.read(cx);
let is_local = project.is_local();
let is_shared = is_local && project.is_shared();
let is_muted = room.is_muted(cx);
let is_deafened = room.is_deafened().unwrap_or(false);
let is_screen_sharing = room.is_screen_sharing();
this.child(
Button::new(
"toggle_sharing",
if is_shared { "Unshare" } else { "Share" },
this.when(is_local, |this| {
this.child(
Button::new(
"toggle_sharing",
if is_shared { "Unshare" } else { "Share" },
)
.style(ButtonStyle::Subtle)
.on_click(cx.listener(
move |this, _, cx| {
if is_shared {
this.unshare_project(&Default::default(), cx);
} else {
this.share_project(&Default::default(), cx);
}
},
)),
)
.style(ButtonStyle::Subtle)
.on_click(cx.listener(
move |this, _, cx| {
if is_shared {
this.unshare_project(&Default::default(), cx);
} else {
this.share_project(&Default::default(), cx);
}
},
)),
)
})
.child(
IconButton::new("leave-call", ui::Icon::Exit)
.style(ButtonStyle::Subtle)