From 44d804d0b3831b0cf4e08c90d5d0b003c9463dd3 Mon Sep 17 00:00:00 2001 From: Luc Mcgrady Date: Mon, 4 Aug 2025 18:02:48 +0100 Subject: [PATCH] Feat/minutes only today stats --- rslib/src/scheduler/timespan.rs | 7 +++++++ rslib/src/stats/today.rs | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/rslib/src/scheduler/timespan.rs b/rslib/src/scheduler/timespan.rs index b015e3e1e..cdec2f883 100644 --- a/rslib/src/scheduler/timespan.rs +++ b/rslib/src/scheduler/timespan.rs @@ -139,6 +139,13 @@ impl Timespan { self.unit } + pub fn to_unit(self, unit: TimespanUnit) -> Timespan { + Timespan { + seconds: self.seconds, + unit, + } + } + /// Return a new timespan in the most appropriate unit, eg /// 70 secs -> timespan in minutes pub fn natural_span(self) -> Timespan { diff --git a/rslib/src/stats/today.rs b/rslib/src/stats/today.rs index f856ce271..01b48cb67 100644 --- a/rslib/src/stats/today.rs +++ b/rslib/src/stats/today.rs @@ -5,9 +5,10 @@ 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 span = Timespan::from_secs(secs).to_unit(TimespanUnit::Minutes); let amount = span.as_unit(); let unit = span.unit().as_str(); let secs_per_card = if cards > 0 {