web: show X-Original-To: if To: is missing, fallback to Delivered-To:

This commit is contained in:
2025-02-23 11:46:21 -08:00
parent e6b3a5b5a9
commit 1cc52d6c96
4 changed files with 116 additions and 1 deletions

View File

@@ -519,6 +519,48 @@ fn render_open_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Node<
})
]
]),
IF!(msg.to.is_empty() && msg.x_original_to.is_some()=>div![
C!["text-xs"],
span![
C!["font-semibold"],
"Original To: "
],
span![
msg.x_original_to.as_ref().map(|to| {
let ShowThreadQueryThreadOnEmailThreadMessagesXOriginalTo { name, addr } = to;
span![
addr.as_ref().map(|addr| attrs! {
At::Title => addr
}),
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
" ",
addr.as_ref().map(|addr| copy_text_widget(&addr)),
" "
]
})
]
]),
IF!(msg.to.is_empty() && msg.x_original_to.is_none() && msg.delivered_to.is_some() => div![
C!["text-xs"],
span![
C!["font-semibold"],
"Delivered To: "
],
span![
msg.delivered_to.as_ref().map(|to| {
let ShowThreadQueryThreadOnEmailThreadMessagesDeliveredTo { name, addr } = to;
span![
addr.as_ref().map(|addr| attrs! {
At::Title => addr
}),
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
" ",
addr.as_ref().map(|addr| copy_text_widget(&addr)),
" "
]
})
]
]),
IF!(!msg.cc.is_empty() =>div![
C!["text-xs"],
span![
@@ -614,6 +656,48 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
],
" "
]),
IF!(msg.to.is_empty() && msg.x_original_to.is_some()=>div![
C!["text-xs"],
span![
C!["font-semibold"],
"Original To: "
],
span![
msg.x_original_to.as_ref().map(|to| {
let ShowThreadQueryThreadOnEmailThreadMessagesXOriginalTo { name, addr } = to;
span![
addr.as_ref().map(|addr| attrs! {
At::Title => addr
}),
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
" ",
addr.as_ref().map(|addr| copy_text_widget(&addr)),
" "
]
})
]
]),
IF!(msg.to.is_empty() && msg.x_original_to.is_none() && msg.delivered_to.is_some() => div![
C!["text-xs"],
span![
C!["font-semibold"],
"Delivered To: "
],
span![
msg.delivered_to.as_ref().map(|to| {
let ShowThreadQueryThreadOnEmailThreadMessagesDeliveredTo { name, addr } = to;
span![
addr.as_ref().map(|addr| attrs! {
At::Title => addr
}),
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
" ",
addr.as_ref().map(|addr| copy_text_widget(&addr)),
" "
]
})
]
]),
IF!(!msg.cc.is_empty() => div![
C!["text-xs", "max-w-full", "overflow-clip", "text-ellipsis"],
span![