web: don't return to search page when marking spam in catchup
This commit is contained in:
@@ -224,6 +224,24 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
Msg::AddTag(query, tag) => {
|
Msg::AddTag(query, tag) => {
|
||||||
|
orders.skip().perform_cmd(async move {
|
||||||
|
let res: Result<
|
||||||
|
graphql_client::Response<graphql::add_tag_mutation::ResponseData>,
|
||||||
|
gloo_net::Error,
|
||||||
|
> = send_graphql(graphql::AddTagMutation::build_query(
|
||||||
|
graphql::add_tag_mutation::Variables {
|
||||||
|
query: query.clone(),
|
||||||
|
tag: tag.clone(),
|
||||||
|
},
|
||||||
|
))
|
||||||
|
.await;
|
||||||
|
if let Err(e) = res {
|
||||||
|
error!("Failed to add tag {tag} to {query}: {e}");
|
||||||
|
}
|
||||||
|
Msg::Refresh
|
||||||
|
});
|
||||||
|
}
|
||||||
|
Msg::AddTagAndGoToSearch(query, tag) => {
|
||||||
orders.skip().perform_cmd(async move {
|
orders.skip().perform_cmd(async move {
|
||||||
let res: Result<
|
let res: Result<
|
||||||
graphql_client::Response<graphql::add_tag_mutation::ResponseData>,
|
graphql_client::Response<graphql::add_tag_mutation::ResponseData>,
|
||||||
@@ -256,7 +274,24 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
|
|||||||
if let Err(e) = res {
|
if let Err(e) = res {
|
||||||
error!("Failed to remove tag {tag} to {query}: {e}");
|
error!("Failed to remove tag {tag} to {query}: {e}");
|
||||||
}
|
}
|
||||||
// TODO: reconsider this behavior
|
Msg::Refresh
|
||||||
|
});
|
||||||
|
}
|
||||||
|
Msg::RemoveTagAndGoToSearch(query, tag) => {
|
||||||
|
orders.skip().perform_cmd(async move {
|
||||||
|
let res: Result<
|
||||||
|
graphql_client::Response<graphql::remove_tag_mutation::ResponseData>,
|
||||||
|
gloo_net::Error,
|
||||||
|
> = send_graphql(graphql::RemoveTagMutation::build_query(
|
||||||
|
graphql::remove_tag_mutation::Variables {
|
||||||
|
query: query.clone(),
|
||||||
|
tag: tag.clone(),
|
||||||
|
},
|
||||||
|
))
|
||||||
|
.await;
|
||||||
|
if let Err(e) = res {
|
||||||
|
error!("Failed to remove tag {tag} to {query}: {e}");
|
||||||
|
}
|
||||||
Msg::GoToSearchResults
|
Msg::GoToSearchResults
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -505,7 +540,7 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
|
|||||||
.join(" ");
|
.join(" ");
|
||||||
orders
|
orders
|
||||||
.skip()
|
.skip()
|
||||||
.perform_cmd(async move { Msg::AddTag(threads, tag) });
|
.perform_cmd(async move { Msg::AddTagAndGoToSearch(threads, tag) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Msg::SelectionRemoveTag(tag) => {
|
Msg::SelectionRemoveTag(tag) => {
|
||||||
@@ -520,7 +555,7 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
|
|||||||
.join(" ");
|
.join(" ");
|
||||||
orders
|
orders
|
||||||
.skip()
|
.skip()
|
||||||
.perform_cmd(async move { Msg::RemoveTag(threads, tag) });
|
.perform_cmd(async move { Msg::RemoveTagAndGoToSearch(threads, tag) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Msg::SelectionMarkAsRead => {
|
Msg::SelectionMarkAsRead => {
|
||||||
@@ -859,7 +894,9 @@ pub enum Msg {
|
|||||||
|
|
||||||
SetUnread(String, bool),
|
SetUnread(String, bool),
|
||||||
AddTag(String, String),
|
AddTag(String, String),
|
||||||
|
AddTagAndGoToSearch(String, String),
|
||||||
RemoveTag(String, String),
|
RemoveTag(String, String),
|
||||||
|
RemoveTagAndGoToSearch(String, String),
|
||||||
Snooze(String, DateTime<Utc>),
|
Snooze(String, DateTime<Utc>),
|
||||||
|
|
||||||
FrontPageRequest {
|
FrontPageRequest {
|
||||||
|
|||||||
@@ -458,7 +458,7 @@ fn removable_tags_chiclet<'a>(thread_id: &'a str, tags: &'a [String]) -> Node<Ms
|
|||||||
a![
|
a![
|
||||||
C![&tw_classes::TAG_X],
|
C![&tw_classes::TAG_X],
|
||||||
span![i![C!["fa-solid", "fa-xmark"]]],
|
span![i![C!["fa-solid", "fa-xmark"]]],
|
||||||
ev(Ev::Click, move |_| Msg::RemoveTag(thread_id, rm_tag))
|
ev(Ev::Click, move |_| Msg::RemoveTagAndGoToSearch(thread_id, rm_tag))
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user