web: add buttons for just unread news and unread mail

This commit is contained in:
Bill Thiede 2025-04-13 20:52:34 -07:00
parent 81876d37ea
commit 28a5d9f219
2 changed files with 62 additions and 40 deletions

View File

@ -765,6 +765,7 @@ pub enum Msg {
NextPage, NextPage,
PreviousPage, PreviousPage,
GoToSearchResults, GoToSearchResults,
UpdateQuery(String), UpdateQuery(String),
SearchQuery(String), SearchQuery(String),

View File

@ -1212,9 +1212,11 @@ fn view_header(
let query = Url::decode_uri_component(query).unwrap_or("".to_string()); let query = Url::decode_uri_component(query).unwrap_or("".to_string());
nav![ nav![
C!["flex", "px-4", "pt-4", "overflow-hidden"], C!["flex", "flex-col"],
a![ div![
C![IF![is_error => "bg-red-500"], "rounded-r-none"], C!["flex-auto", "flex"],
button![
C![IF![is_error => "bg-red-500"], "rounded-none"],
tw_classes::button(), tw_classes::button(),
span![i![C![ span![i![C![
"fa-solid", "fa-solid",
@ -1223,24 +1225,42 @@ fn view_header(
]]], ]]],
ev(Ev::Click, |_| Msg::RefreshStart), ev(Ev::Click, |_| Msg::RefreshStart),
], ],
a![ button![
tw_classes::button(), tw_classes::button(),
C!["px-4", "rounded-none"], C!["grow", "rounded-none"],
attrs! {
At::Href => urls::search(unread_query(), 0)
},
"Unread",
],
a![
tw_classes::button(),
C!["px-4", "rounded-none"],
attrs! {
At::Href => urls::search("", 0)
},
"All", "All",
ev(Ev::Click, |_| Msg::SearchQuery(String::new())),
], ],
button![
tw_classes::button(),
C!["grow", "rounded-none"],
span![i![C!["far", "fa-envelope"]]],
" Unread",
ev(Ev::Click, |_| Msg::SearchQuery("is:unread".to_string())),
],
button![
tw_classes::button(),
C!["grow", "rounded-none"],
span![i![C!["far", "fa-envelope"]]],
" News",
ev(Ev::Click, |_| Msg::SearchQuery(
"is:unread is:news".to_string()
)),
],
button![
tw_classes::button(),
C!["grow", "rounded-none"],
span![i![C!["far", "fa-envelope"]]],
" Mail",
ev(Ev::Click, |_| Msg::SearchQuery(
"is:unread is:mail".to_string()
)),
],
],
div![
C!["flex-auto", "flex"],
input![ input![
C!["grow", "pl-2", "text-black", "rounded-r"], C!["grow", "text-black", "m-2", "p-1"],
attrs! { attrs! {
At::Placeholder => "Search"; At::Placeholder => "Search";
At::AutoFocus => auto_focus_search.as_at_value(); At::AutoFocus => auto_focus_search.as_at_value();
@ -1255,6 +1275,7 @@ fn view_header(
}), }),
] ]
] ]
]
} }
pub fn view_tags(tags: &Option<Vec<Tag>>) -> Node<Msg> { pub fn view_tags(tags: &Option<Vec<Tag>>) -> Node<Msg> {