web: add archive buttons, and adjust when text on buttons is shown

This commit is contained in:
Bill Thiede 2025-01-28 09:34:36 -08:00
parent 66c299bc4c
commit 94be4ec572

View File

@ -91,7 +91,7 @@ pub fn view(model: &Model) -> Node<Msg> {
"flex-wrap-reverse",
"bg-black",
"text-white",
"lg:flex-nowrap"
"lg:flex-nowrap",
],
div![
C!["w-full", "lg:w-48", "flex-none", "flex", "flex-col"],
@ -917,7 +917,7 @@ fn thread(
C![&tw_classes::BUTTON, "rounded-r-none"],
attrs! {At::Title => "Mark as read"},
span![i![C!["far", "fa-envelope-open"]]],
span![C!["pl-2", "hidden", "md:inline"], "Read"],
span![C!["pl-2"], "Read"],
ev(Ev::Click, move |_| Msg::MultiMsg(vec![
Msg::SetUnread(read_thread_id, false),
Msg::GoToSearchResults
@ -927,7 +927,7 @@ fn thread(
C![&tw_classes::BUTTON, "rounded-l-none"],
attrs! {At::Title => "Mark as unread"},
span![i![C!["far", "fa-envelope"]]],
span![C!["pl-2", "hidden", "md:inline"], "Unread"],
span![C!["pl-2"], "Unread"],
ev(Ev::Click, move |_| Msg::MultiMsg(vec![
Msg::SetUnread(unread_thread_id, true),
Msg::GoToSearchResults
@ -938,7 +938,7 @@ fn thread(
C![&tw_classes::BUTTON, "text-red-500"],
attrs! {At::Title => "Spam"},
span![i![C!["far", "fa-hand"]]],
span![C!["pl-2", "hidden", "md:inline"], "Spam"],
span![C!["pl-2"], "Spam"],
ev(Ev::Click, move |_| Msg::MultiMsg(vec![
Msg::AddTag(spam_add_thread_id, "Spam".to_string()),
Msg::SetUnread(spam_unread_thread_id, false),
@ -1191,7 +1191,7 @@ fn news_post(post: &ShowThreadQueryThreadOnNewsPost, content_el: &ElRef<HtmlElem
C![&tw_classes::BUTTON, "rounded-r-none"],
attrs! {At::Title => "Mark as read"},
span![i![C!["far", "fa-envelope-open"]]],
span![C!["pl-2", "hidden", "md:inline"], "Read"],
span![C!["pl-2"], "Read"],
ev(Ev::Click, move |_| Msg::MultiMsg(vec![
Msg::SetUnread(read_thread_id, false),
Msg::GoToSearchResults
@ -1201,7 +1201,7 @@ fn news_post(post: &ShowThreadQueryThreadOnNewsPost, content_el: &ElRef<HtmlElem
C![&tw_classes::BUTTON, "rounded-l-none"],
attrs! {At::Title => "Mark as unread"},
span![i![C!["far", "fa-envelope"]]],
span![C!["pl-2", "hidden", "md:inline"], "Unread"],
span![C!["pl-2"], "Unread"],
ev(Ev::Click, move |_| Msg::MultiMsg(vec![
Msg::SetUnread(unread_thread_id, true),
Msg::GoToSearchResults
@ -1245,6 +1245,8 @@ fn render_news_post_header(post: &ShowThreadQueryThreadOnNewsPost) -> Node<Msg>
.map(|(idx, _)| idx)
.unwrap_or(url.len());
let domain = &url[..idx];
let add_archive_url = format!("https://archive.is/?url={url}");
let view_archive_url = format!("https://archive.is/newest/{url}");
let favicon = div![
C![
"w-16",
@ -1267,17 +1269,36 @@ fn render_news_post_header(post: &ShowThreadQueryThreadOnNewsPost) -> Node<Msg>
div![
C!["px-4", "mr-auto"],
div![
span![C!["font-semibold", "text-sm"], from],
div![C!["font-semibold", "text-sm"], from],
div![
C!["text-xs"],
small![a![
C!["flex", "gap-2", "pt-2", "text-sm"],
a![
C![&tw_classes::BUTTON],
attrs! {
At::Href => post.url,
At::Target => "_blank",
},
"Source ",
span![C!["hidden", "md:inline"], "Source "],
i![C!["fas", "fa-up-right-from-square"]],
]]
],
a![
C![&tw_classes::BUTTON],
attrs! {
At::Href => add_archive_url,
At::Target => "_blank",
},
span![C!["hidden", "md:inline"], "Archive "],
i![C!["fas", "fa-plus"]],
],
a![
C![&tw_classes::BUTTON],
attrs! {
At::Href => view_archive_url,
At::Target => "_blank",
},
span![C!["hidden", "md:inline"], "Archive "],
i![C!["fas", "fa-magnifying-glass"]],
]
]
]
],