diff --git a/ts/graphs/future-due.ts b/ts/graphs/future-due.ts index 801ac94e7..89801b9f7 100644 --- a/ts/graphs/future-due.ts +++ b/ts/graphs/future-due.ts @@ -16,7 +16,7 @@ import { sum, } from "d3"; -import { CardQueue } from "../lib/cards"; +import { CardType } from "../lib/cards"; import * as tr from "../lib/ftl"; import { localizedNumber } from "../lib/i18n"; import type { Cards, Stats } from "../lib/proto"; @@ -31,19 +31,15 @@ export interface GraphData { } export function gatherData(data: Stats.GraphsResponse): GraphData { - const isLearning = (card: Cards.Card): boolean => - [CardQueue.Learn, CardQueue.PreviewRepeat].includes(card.queue); - + const isIntradayLearning = (card: Cards.Card, due: number): boolean => { + return ( + [CardType.Learn, CardType.Relearn].includes(card.ctype) && + due > 1_000_000_000 + ); + }; let haveBacklog = false; const due = (data.cards as Cards.Card[]) - .filter((c: Cards.Card) => { - // reviews - return ( - [CardQueue.Review, CardQueue.DayLearn].includes(c.queue) || - // or learning cards - isLearning(c) - ); - }) + .filter((c: Cards.Card) => c.queue >= 0) .map((c: Cards.Card) => { // - testing just odue fails on day 1 // - testing just odid fails on lapsed cards that @@ -51,7 +47,7 @@ export function gatherData(data: Stats.GraphsResponse): GraphData { const due = c.originalDeckId && c.originalDue ? c.originalDue : c.due; let dueDay: number; - if (isLearning(c)) { + if (isIntradayLearning(c, due)) { const offset = due - data.nextDayAtSecs; dueDay = Math.floor(offset / 86_400) + 1; } else {