diff --git a/web/src/view/mod.rs b/web/src/view/mod.rs index ab04fcd..9a21c68 100644 --- a/web/src/view/mod.rs +++ b/web/src/view/mod.rs @@ -387,12 +387,13 @@ fn render_avatar(avatar: Option, from: &str, big: bool) -> Node { .collect(); let from_color = compute_color(from); let size = if big { - C!["w-16", "h-16", "text-5xl"] + C!["w-16", "h-16", "text-4xl"] } else { - C!["w-8", "h-8", "text-xl"] + C!["w-8", "h-8", "text-l"] }; div![ C![ + "[text-shadow:_0_1px_0_rgb(0_0_0_/_40%)]", "font-extrabold", "grid", "place-content-center", @@ -491,9 +492,12 @@ fn render_open_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Node< div![avatar], div![ C!["px-4", "mr-auto"], - span![C!["font-semibold", "text-sm"], &from], - " ", - from_detail.as_ref().map(|text| copy_text_widget(&text)), + span![ + C!["font-semibold", "text-sm"], + &from, + " ", + from_detail.as_ref().map(|text| copy_text_widget(&text)) + ], IF!(!msg.to.is_empty() =>div![ C!["text-xs"], span![ @@ -506,13 +510,7 @@ fn render_open_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Node< span![ name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)), " ", - span![ - i![C!["far", "fa-clone"]], - addr.clone().map(|addr| ev(Ev::Click, move |e| { - e.stop_propagation(); - Msg::CopyToClipboard(addr) - })) - ], + addr.as_ref().map(|addr| copy_text_widget(&addr)), " " ] }) @@ -530,13 +528,7 @@ fn render_open_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Node< span![ name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)), " ", - span![ - i![C!["far", "fa-clone"]], - addr.clone().map(|addr| ev(Ev::Click, move |e| { - e.stop_propagation(); - Msg::CopyToClipboard(addr) - })) - ], + addr.as_ref().map(|addr| copy_text_widget(&addr)), " " ] }) @@ -582,14 +574,15 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod let is_unread = has_unread(&msg.tags); let avatar = render_avatar(avatar, &from, false); let unknown = "UNKNOWN".to_string(); - div![figure![ + div![ C!["flex"], div![avatar], div![ - C!["px-4", "mr-auto"], - div![C!["font-semibold", "text-sm"], &from], + C!["px-4"], + C!["w-fit"], + span![C!["font-semibold", "text-sm"], &from], " ", - IF!(!msg.to.is_empty() => span![ + IF!(!msg.to.is_empty() => div![ C!["text-xs"], span![ C!["font-semibold"], @@ -606,21 +599,18 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod ], " " ]), - IF!(!msg.cc.is_empty() => span![ - C!["text-xs"], + IF!(!msg.cc.is_empty() => div![ + C!["text-xs", "max-w-full", "overflow-clip", "text-ellipsis"], span![ C!["font-semibold"], "CC: " ], - span![ - msg.cc.iter().enumerate().map(|(i, cc)| { - let ShowThreadQueryThreadOnEmailThreadMessagesCc { name, addr } = cc; - span![ - if i > 0 { ", " } else { "" }, - name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)) - ] - }) - ] + msg.cc.iter().enumerate().map(|(i, cc)| { + let ShowThreadQueryThreadOnEmailThreadMessagesCc { name, addr } = cc; + span![ + name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)) + , " "] + }) ]) ], span![ @@ -642,13 +632,13 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod Msg::SetUnread(id, !is_unread) }), ] - ]] + ] } fn message_render(msg: &ShowThreadQueryThreadOnEmailThreadMessages, open: bool) -> Node { let expand_id = msg.id.clone(); div![ - C!["message"], + C!["message", "p-4" "bg-grey-900"], div![ C!["header"], if open { diff --git a/web/static/style.css b/web/static/style.css index 34cd007..795517c 100644 --- a/web/static/style.css +++ b/web/static/style.css @@ -41,38 +41,6 @@ } } -.message { - display: inline-block; - padding: 0.5em; - width: 100%; -} - -.message .header table td { - border: 0; - padding: 0; -} - -.message .header .media-right { - padding: 1rem; -} - -.message .headers { - position: relative; - width: 100%; -} - -.message .headers .read-status { - position: absolute; - right: 1em; - top: 0em; -} - -.message .headers .header { - overflow: clip; - text-overflow: ellipsis; - white-space: nowrap; -} - .message .body { background: white; color: black;