web: much more compact read mail headers

This commit is contained in:
Bill Thiede 2025-08-21 16:45:35 -07:00
parent 66dbcf2cfd
commit 832b322b77

View File

@ -901,13 +901,22 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
.collect(); .collect();
let show_x_original_to = !*to_xinu.borrow() && msg.x_original_to.is_some(); let show_x_original_to = !*to_xinu.borrow() && msg.x_original_to.is_some();
let show_delivered_to = !*to_xinu.borrow() && !show_x_original_to && msg.delivered_to.is_some(); let show_delivered_to = !*to_xinu.borrow() && !show_x_original_to && msg.delivered_to.is_some();
let common_style = C!["text-sm", "pr-2", "text-gray-500"];
div![ div![
C!["flex", "p-4", "bg-neutral-800"], C!["flex", "bg-neutral-800"],
div![avatar], div![C!["self-center"], avatar],
div![ div![
C!["px-4", "mr-auto"], C![
span![ "mx-2",
C!["font-semibold", "text-sm"], "flex-1",
"flex",
"flex-nowrap",
"items-center",
"truncate",
],
div![
C!["font-semibold", "text-white"],
&common_style,
from_detail.as_ref().map(|addr| attrs! { from_detail.as_ref().map(|addr| attrs! {
At::Title => addr At::Title => addr
}), }),
@ -915,7 +924,7 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
], ],
" ", " ",
IF!(!msg.to.is_empty() => div![ IF!(!msg.to.is_empty() => div![
C!["text-xs"], &common_style,
span![ span![
C!["font-semibold"], C!["font-semibold"],
"To: " "To: "
@ -926,7 +935,7 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
" " " "
]), ]),
IF!(!msg.cc.is_empty() => div![ IF!(!msg.cc.is_empty() => div![
C!["text-xs", "max-w-full", "overflow-clip", "text-ellipsis"], &common_style,
span![ span![
C!["font-semibold"], C!["font-semibold"],
"CC: " "CC: "
@ -934,7 +943,7 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
cc_addrs cc_addrs
]), ]),
IF!(show_x_original_to => div![ IF!(show_x_original_to => div![
C!["text-xs"], &common_style,
span![ span![
C!["font-semibold"], C!["font-semibold"],
"Original To: " "Original To: "
@ -953,7 +962,7 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
] ]
]), ]),
IF!(show_delivered_to => div![ IF!(show_delivered_to => div![
C!["text-xs"], &common_style,
span![ span![
C!["font-semibold"], C!["font-semibold"],
"Delivered To: " "Delivered To: "
@ -972,27 +981,25 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
] ]
]), ]),
], ],
span![ msg.timestamp.map(|ts| div![
C!["text-right"], C!["text-xs", "text-nowrap", "justify-self-end", "self-center"],
msg.timestamp human_age(ts)
.map(|ts| div![C!["text-xs", "text-nowrap"], human_age(ts)]), ]),
div![ div![
C!["p-2"], i![C![
i![C![ "m-2",
"mx-4", "read-status",
"read-status", "far",
"far", if is_unread {
if is_unread { "fa-envelope"
"fa-envelope" } else {
} else { "fa-envelope-open"
"fa-envelope-open" },
}, ]],
]], ev(Ev::Click, move |e| {
ev(Ev::Click, move |e| { e.stop_propagation();
e.stop_propagation(); Msg::SetUnread(id, !is_unread)
Msg::SetUnread(id, !is_unread) })
})
],
] ]
] ]
} }
@ -1007,7 +1014,7 @@ fn message_render(msg: &ShowThreadQueryThreadOnEmailThreadMessages, open: bool)
}; };
let from = from.map(|f| f.replace('.', "-").replace('@', "-")); let from = from.map(|f| f.replace('.', "-").replace('@', "-"));
div![ div![
C!["lg:mb-4"], C!["pb-1"],
div![ div![
if open { if open {
render_open_header(&msg) render_open_header(&msg)