WIP snooze feature
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
use std::collections::HashSet;
|
||||
|
||||
use chrono::{DateTime, Utc};
|
||||
use graphql_client::GraphQLQuery;
|
||||
use letterbox_shared::WebsocketMessage;
|
||||
use log::{debug, error, info, warn};
|
||||
@@ -259,6 +260,9 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
|
||||
Msg::GoToSearchResults
|
||||
});
|
||||
}
|
||||
Msg::Snooze(message_id, snooze_time) => {
|
||||
info!("TODO: Snoozing {message_id} until {snooze_time}");
|
||||
}
|
||||
|
||||
Msg::FrontPageRequest {
|
||||
query,
|
||||
@@ -813,6 +817,7 @@ pub enum Msg {
|
||||
SetUnread(String, bool),
|
||||
AddTag(String, String),
|
||||
RemoveTag(String, String),
|
||||
Snooze(String, DateTime<Utc>),
|
||||
|
||||
FrontPageRequest {
|
||||
query: String,
|
||||
|
||||
@@ -799,6 +799,43 @@ fn render_open_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Node<
|
||||
})
|
||||
]
|
||||
]),
|
||||
div![
|
||||
C!["text-xs"],
|
||||
span!["Snooze:"],
|
||||
" ",
|
||||
a![
|
||||
"1d",
|
||||
ev(Ev::Click, {
|
||||
let id = id.clone();
|
||||
move |e| {
|
||||
e.stop_propagation();
|
||||
Msg::Snooze(id, Utc::now() + chrono::Days::new(1))
|
||||
}
|
||||
})
|
||||
],
|
||||
" ",
|
||||
a![
|
||||
"7d",
|
||||
ev(Ev::Click, {
|
||||
let id = id.clone();
|
||||
move |e| {
|
||||
e.stop_propagation();
|
||||
Msg::Snooze(id, Utc::now() + chrono::Days::new(7))
|
||||
}
|
||||
})
|
||||
],
|
||||
" ",
|
||||
a![
|
||||
"6m",
|
||||
ev(Ev::Click, {
|
||||
let id = id.clone();
|
||||
move |e| {
|
||||
e.stop_propagation();
|
||||
Msg::Snooze(id, Utc::now() + chrono::Days::new(180))
|
||||
}
|
||||
})
|
||||
],
|
||||
]
|
||||
],
|
||||
span![
|
||||
C!["text-right"],
|
||||
|
||||
Reference in New Issue
Block a user