[Zed2] Collab UI (#3403)

Release Notes:

- N/A
This commit is contained in:
Conrad Irwin
2023-11-27 12:40:59 -07:00
committed by GitHub
23 changed files with 945 additions and 561 deletions
+12 -4
View File
@@ -1,5 +1,7 @@
use std::sync::Arc;
use crate::prelude::*;
use gpui::{img, Img, IntoElement};
use gpui::{img, ImageData, ImageSource, Img, IntoElement};
#[derive(Debug, Default, PartialEq, Clone)]
pub enum Shape {
@@ -10,7 +12,7 @@ pub enum Shape {
#[derive(IntoElement)]
pub struct Avatar {
src: SharedString,
src: ImageSource,
shape: Shape,
}
@@ -26,7 +28,7 @@ impl RenderOnce for Avatar {
img = img.rounded_md();
}
img.uri(self.src.clone())
img.source(self.src.clone())
.size_4()
// todo!(Pull the avatar fallback background from the theme.)
.bg(gpui::red())
@@ -34,7 +36,13 @@ impl RenderOnce for Avatar {
}
impl Avatar {
pub fn new(src: impl Into<SharedString>) -> Self {
pub fn uri(src: impl Into<SharedString>) -> Self {
Self {
src: src.into().into(),
shape: Shape::Circle,
}
}
pub fn data(src: Arc<ImageData>) -> Self {
Self {
src: src.into(),
shape: Shape::Circle,
+2 -2
View File
@@ -323,8 +323,8 @@ impl RenderOnce for ListItem {
.color(Color::Muted),
),
),
Some(GraphicSlot::Avatar(src)) => Some(h_stack().child(Avatar::new(src))),
Some(GraphicSlot::PublicActor(src)) => Some(h_stack().child(Avatar::new(src))),
Some(GraphicSlot::Avatar(src)) => Some(h_stack().child(Avatar::uri(src))),
Some(GraphicSlot::PublicActor(src)) => Some(h_stack().child(Avatar::uri(src))),
None => None,
};
+2 -2
View File
@@ -13,10 +13,10 @@ impl Render for AvatarStory {
Story::container()
.child(Story::title_for::<Avatar>())
.child(Story::label("Default"))
.child(Avatar::new(
.child(Avatar::uri(
"https://avatars.githubusercontent.com/u/1714999?v=4",
))
.child(Avatar::new(
.child(Avatar::uri(
"https://avatars.githubusercontent.com/u/326587?v=4",
))
}