From 83bd5335804755aeb4a6200ae5883203812d874d Mon Sep 17 00:00:00 2001 From: user1823 <92206575+user1823@users.noreply.github.com> Date: Mon, 4 Aug 2025 15:19:55 +0530 Subject: [PATCH] Limit time studied today to minutes --- rslib/src/stats/today.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/rslib/src/stats/today.rs b/rslib/src/stats/today.rs index f856ce271..0b356d977 100644 --- a/rslib/src/stats/today.rs +++ b/rslib/src/stats/today.rs @@ -5,11 +5,15 @@ use anki_i18n::I18n; use crate::prelude::*; use crate::scheduler::timespan::Timespan; +use crate::scheduler::timespan::TimespanUnit; pub fn studied_today(cards: u32, secs: f32, tr: &I18n) -> String { let span = Timespan::from_secs(secs).natural_span(); - let amount = span.as_unit(); - let unit = span.unit().as_str(); + let unit = std::cmp::min(span.unit(), TimespanUnit::Minutes); + let amount = match unit { + TimespanUnit::Seconds => secs, + TimespanUnit::Minutes => secs / 60.0, + }; let secs_per_card = if cards > 0 { secs / (cards as f32) } else { @@ -38,8 +42,8 @@ mod test { // temporary test of fluent term handling let tr = I18n::template_only(); assert_eq!( - &studied_today(3, 13.0, &tr).replace('\n', " "), - "Studied 3 cards in 13 seconds today (4.33s/card)" + &studied_today(300, 5400.0, &tr).replace('\n', " "), + "Studied 300 cards in 90 minutes today (18.0s/card)" ); } }