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.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-26 22:08:25 -04:00
1 parent 99b8a6081b
commit dd5e36cd94
14 files changed
+1308 -7

No files matched your search

+1
View File
@@ -19,6 +19,7 @@ pub use calendar::Calendar;
pub use cron::CronEditor;
pub use period::{MonthPicker, QuarterPicker, YearPicker};
pub use picker::{DatePicker, DateRangePicker};
pub(crate) use picker::{Face, dropdown, picker_field};
pub use relative::{RelativeDatePicker, RelativeRange};
pub use rule::CronRule;
pub use time::{DateTimePicker, DurationPicker, TimePicker};
+1
View File
@@ -62,6 +62,7 @@ pub use date::{
MonthPicker, QuarterPicker, RelativeDatePicker, RelativeRange, TimePicker, TimezoneSelect,
WeekPicker, YearPicker,
};
pub(crate) use date::{Face, dropdown, picker_field};
pub use expression::{ExpressionInput, evaluate, expression_highlights};
pub use files::{DropZone, FileInput, PICTURES};
pub(crate) use files::{browse, dropped};