WIP snooze feature

This commit is contained in:
2025-11-02 16:08:11 -08:00
parent be2085b397
commit 2eb4784e83
5 changed files with 55 additions and 1 deletions

View File

@@ -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,

View File

@@ -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"],