diff --git a/crates/collab_ui/src/collab_titlebar_item.rs b/crates/collab_ui/src/collab_titlebar_item.rs index d89bc51569..4b8cd816e1 100644 --- a/crates/collab_ui/src/collab_titlebar_item.rs +++ b/crates/collab_ui/src/collab_titlebar_item.rs @@ -72,6 +72,7 @@ impl View for CollabTitlebarItem { } let theme = cx.global::().theme.clone(); + let user = workspace.read(cx).user_store().read(cx).current_user(); let mut left_container = Flex::row(); @@ -86,7 +87,7 @@ impl View for CollabTitlebarItem { left_container.add_child(self.render_share_unshare_button(&workspace, &theme, cx)); left_container.add_child(self.render_toggle_collaborator_list_button(&theme, cx)); - left_container.add_child(self.render_current_user(&workspace, &theme, cx)); + left_container.add_child(self.render_current_user(&workspace, &theme, &user, cx)); left_container.add_children(self.render_collaborators(&workspace, &theme, room, cx)); } @@ -105,6 +106,20 @@ impl View for CollabTitlebarItem { } right_container.add_children(self.render_connection_status(&workspace, cx)); + if let Some(user) = user { + //TODO: Add style + right_container.add_child( + Label::new( + user.github_login.clone(), + theme.workspace.titlebar.title.clone(), + ) + .aligned() + .boxed(), + ); + } else { + right_container.add_child(Self::render_authenticate(&theme, cx)); + } + Stack::new() .with_child(left_container.boxed()) .with_child(right_container.aligned().right().boxed()) @@ -523,21 +538,17 @@ impl CollabTitlebarItem { &self, workspace: &ViewHandle, theme: &Theme, + user: &Option>, cx: &mut RenderContext, ) -> ElementBox { - let user = workspace - .read(cx) - .user_store() - .read(cx) - .current_user() - .expect("Active call without user"); + let user = user.as_ref().expect("Active call without user"); let replica_id = workspace.read(cx).project().read(cx).replica_id(); let peer_id = workspace .read(cx) .client() .peer_id() .expect("Active call without peer id"); - self.render_face_pile(&user, Some(replica_id), peer_id, None, workspace, theme, cx) + self.render_face_pile(user, Some(replica_id), peer_id, None, workspace, theme, cx) } fn render_authenticate(theme: &Theme, cx: &mut RenderContext) -> ElementBox {