From a0eb2913712dc3d0c34b7cf7f4c417ad761deb0a Mon Sep 17 00:00:00 2001 From: Bill Thiede Date: Tue, 10 Dec 2024 09:13:11 -0800 Subject: [PATCH] web: most post favicon more cachable --- web/src/view/mod.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/web/src/view/mod.rs b/web/src/view/mod.rs index 9adc8ad..602beeb 100644 --- a/web/src/view/mod.rs +++ b/web/src/view/mod.rs @@ -1095,13 +1095,20 @@ fn news_post( } fn render_news_post_header(post: &ShowThreadQueryThreadOnNewsPost) -> Node { let from = &post.site; + // TODO: move avatar/favicon stuff to the server side and and come up with a solution for emails let avatar: Option = None; //let avatar: Option = Some(String::from("https://bulma.io/images/placeholders/64x64.png")); let id = post.thread_id.clone(); let is_unread = !post.is_read; // TODO: use https://www.google.com/s2/favicons?domain={domain} let avatar = render_avatar(avatar, &from, true); - let domain = &post.url; + let url = &post.url; + let idx = url + .match_indices('/') + .nth(2) + .map(|(idx, _)| idx) + .unwrap_or(url.len()); + let domain = &url[..idx]; let favicon = div![ C![ "w-16", @@ -1114,7 +1121,7 @@ fn render_news_post_header(post: &ShowThreadQueryThreadOnNewsPost) -> Node "uppercase" ], img![ - C!["object-cover", "w-16", "h-16",], + C!["object-cover", "w-16", "h-16"], attrs! {At::Src=>format!("https://www.google.com/s2/favicons?sz=64&domain={domain}")} ], ];