Move thread: and id: prefixing to server side.

This paves way for better news: support
This commit is contained in:
2024-07-22 14:26:48 -07:00
parent 879ddb112e
commit 4ee34444ae
4 changed files with 31 additions and 24 deletions

View File

@@ -372,7 +372,7 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
{
let threads = selected_threads
.iter()
.map(|tid| format!("thread:{tid}"))
.map(|tid| tid.to_string())
.collect::<Vec<_>>()
.join(" ");
orders
@@ -387,7 +387,7 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
{
let threads = selected_threads
.iter()
.map(|tid| format!("thread:{tid}"))
.map(|tid| tid.to_string())
.collect::<Vec<_>>()
.join(" ");
orders
@@ -402,7 +402,7 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
{
let threads = selected_threads
.iter()
.map(|tid| format!("thread:{tid}"))
.map(|tid| tid.to_string())
.collect::<Vec<_>>()
.join(" ");
orders
@@ -417,7 +417,7 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
{
let threads = selected_threads
.iter()
.map(|tid| format!("thread:{tid}"))
.map(|tid| tid.to_string())
.collect::<Vec<_>>()
.join(" ");
orders

View File

@@ -73,6 +73,7 @@ fn removable_tags_chiclet<'a>(
"is-grouped-multiline"
],
tags.iter().map(move |tag| {
let thread_id = thread_id.to_string();
let hex = compute_color(tag);
let style = style! {St::BackgroundColor=>hex};
let classes = C!["tag", IF!(is_mobile => "is-small")];
@@ -81,7 +82,6 @@ fn removable_tags_chiclet<'a>(
};
let tag = tag.clone();
let rm_tag = tag.clone();
let thread_id = format!("thread:{thread_id}");
div![
C!["control"],
div![
@@ -592,7 +592,7 @@ fn render_open_header(msg: &ShowThreadQueryThreadMessages) -> Node<Msg> {
],
ev(Ev::Click, move |e| {
e.stop_propagation();
Msg::SetUnread(format!("id:{id}"), !is_unread)
Msg::SetUnread(id, !is_unread)
})
]
]
@@ -664,7 +664,7 @@ fn render_closed_header(msg: &ShowThreadQueryThreadMessages) -> Node<Msg> {
],
ev(Ev::Click, move |e| {
e.stop_propagation();
Msg::SetUnread(format!("id:{id}"), !is_unread)
Msg::SetUnread(id, !is_unread)
})
]
]
@@ -808,7 +808,8 @@ fn thread(
});
let read_thread_id = thread.thread_id.clone();
let unread_thread_id = thread.thread_id.clone();
let spam_thread_id = thread.thread_id.clone();
let spam_add_thread_id = thread.thread_id.clone();
let spam_unread_thread_id = thread.thread_id.clone();
div![
C!["thread"],
h3![C!["is-size-5"], subject],
@@ -827,20 +828,14 @@ fn thread(
attrs! {At::Title => "Mark as read"},
span![C!["icon", "is-small"], i![C!["far", "fa-envelope-open"]]],
IF!(show_icon_text=>span!["Read"]),
ev(Ev::Click, move |_| Msg::SetUnread(
format!("thread:{read_thread_id}"),
false
)),
ev(Ev::Click, move |_| Msg::SetUnread(read_thread_id, false)),
],
button![
C!["button", "mark-unread"],
attrs! {At::Title => "Mark as unread"},
span![C!["icon", "is-small"], i![C!["far", "fa-envelope"]]],
IF!(show_icon_text=>span!["Unread"]),
ev(Ev::Click, move |_| Msg::SetUnread(
format!("thread:{unread_thread_id}"),
true
)),
ev(Ev::Click, move |_| Msg::SetUnread(unread_thread_id, true)),
],
],
],
@@ -854,8 +849,8 @@ fn thread(
span![C!["icon", "is-small"], i![C!["far", "fa-hand"]]],
IF!(show_icon_text=>span!["Spam"]),
ev(Ev::Click, move |_| Msg::MultiMsg(vec![
Msg::AddTag(format!("thread:{spam_thread_id}"), "Spam".to_string()),
Msg::SetUnread(format!("thread:{spam_thread_id}"), false)
Msg::AddTag(spam_add_thread_id, "Spam".to_string()),
Msg::SetUnread(spam_unread_thread_id, false)
])),
],
],