web: show X-Original-To: if To: is missing, fallback to Delivered-To:
This commit is contained in:
parent
e6b3a5b5a9
commit
1cc52d6c96
@ -641,7 +641,6 @@ impl Notmuch {
|
||||
let Some(msg) = &tn.0 else {
|
||||
return Ok(());
|
||||
};
|
||||
info!("msg.headers {:#?}", msg.headers);
|
||||
let mut addrs = vec![];
|
||||
let hdr = &msg.headers.to;
|
||||
if let Some(to) = hdr {
|
||||
|
||||
@ -671,6 +671,30 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"args": [],
|
||||
"deprecationReason": null,
|
||||
"description": null,
|
||||
"isDeprecated": false,
|
||||
"name": "xOriginalTo",
|
||||
"type": {
|
||||
"kind": "OBJECT",
|
||||
"name": "Email",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"args": [],
|
||||
"deprecationReason": null,
|
||||
"description": null,
|
||||
"isDeprecated": false,
|
||||
"name": "deliveredTo",
|
||||
"type": {
|
||||
"kind": "OBJECT",
|
||||
"name": "Email",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"args": [],
|
||||
"deprecationReason": null,
|
||||
|
||||
@ -31,6 +31,14 @@ query ShowThreadQuery($threadId: String!) {
|
||||
name
|
||||
addr
|
||||
}
|
||||
xOriginalTo {
|
||||
name
|
||||
addr
|
||||
}
|
||||
deliveredTo {
|
||||
name
|
||||
addr
|
||||
}
|
||||
timestamp
|
||||
body {
|
||||
__typename
|
||||
|
||||
@ -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![
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user