Mail · Reading: a message reader, a conversation, and quoted text
MailReader opens a message under its subject: the sender's picture, name and address, who it went to, when it came, and Reply, Reply all when it went to more than one, and Forward, each only with a handler; then its words and its files, each downloadable. MailThreadView lays a conversation oldest first: the newest stands open, the others fold to a line of the sender, their first words and when, which a press, Enter or Space opens. QuotedText folds words quoted from before behind a small mark; open, they sit behind a rule. Long names give way at the label width. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0a281d91ab
commit
f946af6216
12 files changed
+920
-4
No files matched your search
@@ -8,6 +8,8 @@ use ely_gpui_component::{
|
||||
use gpui::{AnyElement, App, IntoElement, ParentElement, SharedString, Styled, Window, div, px};
|
||||
use jiff::{SignedDuration, Timestamp};
|
||||
|
||||
mod read;
|
||||
|
||||
use super::Page;
|
||||
use crate::{
|
||||
probe::probe,
|
||||
@@ -33,6 +35,14 @@ const SCRIPT: &[Step] = &[
|
||||
Step::UpAt("mail-list", 417.0, 112.0),
|
||||
Step::Wait(200),
|
||||
Step::Shot("starred"),
|
||||
Step::DownAt("mail-reader", 12.0, 227.0),
|
||||
Step::UpAt("mail-reader", 12.0, 227.0),
|
||||
Step::Wait(300),
|
||||
Step::Shot("quoted-open"),
|
||||
Step::DownAt("mail-thread", 200.0, 120.0),
|
||||
Step::UpAt("mail-thread", 200.0, 120.0),
|
||||
Step::Wait(300),
|
||||
Step::Shot("thread-opened"),
|
||||
];
|
||||
|
||||
fn boxes(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> {
|
||||
@@ -200,5 +210,7 @@ fn render(window: &mut Window, cx: &mut App) -> AnyElement {
|
||||
.child(boxes(window, cx))
|
||||
.child(list(window, cx))
|
||||
.child(zero(cx))
|
||||
.child(read::reader(cx))
|
||||
.child(read::thread(cx))
|
||||
.into_any_element()
|
||||
}
|
||||
Reference in new issue
Block a user