Skip to content

Commit

Permalink
improve relative time display
Browse files Browse the repository at this point in the history
  • Loading branch information
avoonix committed Jul 13, 2024
1 parent 621ee5b commit d5f7b23
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 12 deletions.
14 changes: 3 additions & 11 deletions fuzzle/src/message/keyboard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use crate::{
database::{Sticker, TagCreator, UserSettings, UserStats},
inline::{InlineQueryData, SetOperation, TagKind},
tags::{self, all_count_tags, all_rating_tags, character_count, rating, Category, Characters},
util::Emoji,
util::{format_relative_time, Emoji},
};
use chrono::NaiveDateTime;
use itertools::Itertools;
Expand Down Expand Up @@ -667,11 +667,7 @@ impl Keyboard {
},
)],
[InlineKeyboardButton::callback(
format!(
"🗓️ Set known since {} ({} days)",
created_at.format("%Y-%m-%d"),
(now - created_at).num_days()
),
format!( "🗓️ Set added {}", format_relative_time(created_at)),
CallbackData::NoAction,
)],
[InlineKeyboardButton::switch_inline_query_current_chat(
Expand Down Expand Up @@ -716,11 +712,7 @@ impl Keyboard {
},
)],
vec![InlineKeyboardButton::callback(
format!(
"🗓️ Sticker known since {} ({} days)",
created_at.format("%Y-%m-%d"),
(now - created_at).num_days()
),
format!( "🗓️ Sticker added {}", format_relative_time(created_at)),
CallbackData::NoAction,
)],
vec![
Expand Down
9 changes: 8 additions & 1 deletion fuzzle/src/util/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,17 @@ pub fn format_relative_time(time: NaiveDateTime) -> String {
format!("in {} minutes", duration.num_minutes())
} else if duration < Duration::minutes(1) {
"less than a minute ago".to_string()
} else if duration < Duration::minutes(5) {
"a few minutes ago".to_string()
} else if duration < Duration::hours(1) {
format!("{} minutes ago", duration.num_minutes())
} else if duration < Duration::days(1) {
format!("{} hours ago", duration.num_hours())
let hours = duration.num_hours();
if hours == 1 {
"1 hour ago".to_string()
} else {
format!("{} hours ago", duration.num_hours())
}
} else if duration < Duration::days(2) {
"yesterday".to_string()
} else if duration < Duration::weeks(1) {
Expand Down

0 comments on commit d5f7b23

Please sign in to comment.