chat panel ++ (#4044)
- Update chat panel with current channel - Open chat panel for guests - Open chat when joining a channel with guests - Some tweaks for chat panels - Don't lose focus on default panel state - Make chat prettier (to my eyes at least) - Fix multiple mentions in one message - Show a border when scrolled in chat - Fix re-docking chat panel - Move settings subscription to dock [[PR Description]] Release Notes: - Opens chat by default when joining a public channel - Improves chat panel UI
This commit is contained in:
commit
29ce109211
15 changed files with 273 additions and 254 deletions
|
@ -26,6 +26,7 @@ pub enum AvatarShape {
|
|||
#[derive(IntoElement)]
|
||||
pub struct Avatar {
|
||||
image: Img,
|
||||
size: Option<Pixels>,
|
||||
border_color: Option<Hsla>,
|
||||
is_available: Option<bool>,
|
||||
}
|
||||
|
@ -36,7 +37,7 @@ impl RenderOnce for Avatar {
|
|||
self = self.shape(AvatarShape::Circle);
|
||||
}
|
||||
|
||||
let size = cx.rem_size();
|
||||
let size = self.size.unwrap_or_else(|| cx.rem_size());
|
||||
|
||||
div()
|
||||
.size(size + px(2.))
|
||||
|
@ -78,6 +79,7 @@ impl Avatar {
|
|||
image: img(src),
|
||||
is_available: None,
|
||||
border_color: None,
|
||||
size: None,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -124,4 +126,10 @@ impl Avatar {
|
|||
self.is_available = is_available.into();
|
||||
self
|
||||
}
|
||||
|
||||
/// Size overrides the avatar size. By default they are 1rem.
|
||||
pub fn size(mut self, size: impl Into<Option<Pixels>>) -> Self {
|
||||
self.size = size.into();
|
||||
self
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue