listing/plain: use ConversationsListing::format_date

Its own format_date method has a wrong implementation.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
pull/311/head
Manos Pitsidianakis 2023-10-21 10:35:58 +03:00
parent f702dc220c
commit 5a7919bb03
Signed by: Manos Pitsidianakis
GPG Key ID: 7729C7707F7E09D0
1 changed files with 1 additions and 16 deletions

View File

@ -748,7 +748,7 @@ impl PlainListing {
}
let subject = e.subject().trim().to_string();
EntryStrings {
date: DateString(PlainListing::format_date(e)),
date: DateString(ConversationsListing::format_date(context, e.date())),
subject: SubjectString(subject),
flag: FlagString(format!(
"{selected}{unseen}{attachments}{whitespace}",
@ -1030,21 +1030,6 @@ impl PlainListing {
}
}
fn format_date(envelope: &Envelope) -> String {
let d = std::time::UNIX_EPOCH + std::time::Duration::from_secs(envelope.date());
let now: std::time::Duration = std::time::SystemTime::now()
.duration_since(d)
.unwrap_or_else(|_| std::time::Duration::new(std::u64::MAX, 0));
match now.as_secs() {
n if n < 10 * 60 * 60 => format!("{} hours ago{}", n / (60 * 60), " ".repeat(8)),
n if n < 24 * 60 * 60 => format!("{} hours ago{}", n / (60 * 60), " ".repeat(7)),
n if n < 4 * 24 * 60 * 60 => {
format!("{} days ago{}", n / (24 * 60 * 60), " ".repeat(9))
}
_ => melib::utils::datetime::timestamp_to_string(envelope.datetime(), None, false),
}
}
fn update_line(&mut self, context: &Context, env_hash: EnvelopeHash) {
let account = &context.accounts[&self.cursor_pos.0];