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
@@ -8,6 +8,7 @@ use gpui::{AnyElement, App, IntoElement, ParentElement, SharedString, Styled, Wi
|
||||
use jiff::{SignedDuration, Timestamp};
|
||||
|
||||
mod messages;
|
||||
mod people;
|
||||
|
||||
use super::Page;
|
||||
use crate::{
|
||||
@@ -34,6 +35,22 @@ const SCRIPT: &[Step] = &[
|
||||
Step::HoverAt("messaging-conversation", 200.0, 89.0),
|
||||
Step::Wait(200),
|
||||
Step::Shot("run-time"),
|
||||
Step::DownAt("messaging-members", 200.0, 91.0),
|
||||
Step::UpAt("messaging-members", 200.0, 91.0),
|
||||
Step::Wait(200),
|
||||
Step::Shot("member-chosen"),
|
||||
Step::DownAt("messaging-status", 35.0, 48.0),
|
||||
Step::UpAt("messaging-status", 35.0, 48.0),
|
||||
Step::Wait(200),
|
||||
Step::Key("tab"),
|
||||
Step::Type("palm tree"),
|
||||
Step::Wait(200),
|
||||
Step::Shot("status-emoji"),
|
||||
Step::Key("enter"),
|
||||
Step::Key("tab"),
|
||||
Step::Type("On leave till Monday"),
|
||||
Step::Wait(200),
|
||||
Step::Shot("status-draft"),
|
||||
];
|
||||
|
||||
/// The demo's chats: which is open and what waits unread in each.
|
||||
@@ -218,5 +235,8 @@ fn render(window: &mut Window, cx: &mut App) -> AnyElement {
|
||||
.child(messages::conversation(window, cx))
|
||||
.child(messages::thread(window, cx))
|
||||
.child(messages::receipts(cx))
|
||||
.child(people::members(window, cx))
|
||||
.child(people::statuses(cx))
|
||||
.child(people::setter(window, cx))
|
||||
.into_any_element()
|
||||
}
|
||||
Reference in new issue
Block a user