Messaging · People: members, a profile card, online status and a status setter
MemberList sets members online and offline by name, each group a list under its count. A press or an arrow chooses one; Enter or a double press acts on them; offline members go quiet. UserProfileCard shows a person's picture with presence, name and standing, title, status, the time in their zone, and Message and Call, each only with a handler. OnlineStatus draws a presence's dot and word; Presence now names itself and gives its color, in data_display, its one home. StatusSetter holds a draft seeded from the owner's status: an emoji from a picker field, words in its own text field, and when they clear. Suggestions fill all three; Save hands the status over and Clear status removes it. The emoji field reuses the date pickers' field, whose trigger ignores the Enter release after a pick. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5bbfdcd766
commit
37e56c7ab7
14 files changed
+1308
-7
No files matched your search
@@ -18,7 +18,7 @@ pub enum Presence {
|
||||
}
|
||||
|
||||
impl Presence {
|
||||
fn color(self, colors: &Palette) -> Hsla {
|
||||
pub fn color(self, colors: &Palette) -> Hsla {
|
||||
match self {
|
||||
Self::Online => colors.success,
|
||||
Self::Away => colors.warning,
|
||||
@@ -26,6 +26,15 @@ impl Presence {
|
||||
Self::Offline => colors.fg_subtle,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn label(self) -> &'static str {
|
||||
match self {
|
||||
Self::Online => "Online",
|
||||
Self::Away => "Away",
|
||||
Self::Busy => "Busy",
|
||||
Self::Offline => "Offline",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Up to two capitals from a name's first and last words.
|
||||
|
||||
Reference in new issue
Block a user