feat(app): offer to review first when reviews are due beyond the tags chosen

With tags narrowing a session, new cards of theirs to learn, and cards
of other tags due for review, the session asks first ("You have reviews
due"): Review first studies the reviews due across every tag, round
after round, the tags not applying until none is left (the session
settings say so meanwhile); Learn anyway learns the tags' new cards;
Cancel leaves. A new session asks again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-07 22:03:27 +02:00
commit 72e99ef790
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1659,6 +1659,40 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get studyClose => 'Close session';
@override
String get studyReviewsDueTitle => 'You have reviews due';
@override
String studyReviewsDueBody(int reviews, int news) {
String _temp0 = intl.Intl.pluralLogic(
reviews,
locale: localeName,
other: '$reviews cards are',
one: '1 card is',
);
String _temp1 = intl.Intl.pluralLogic(
news,
locale: localeName,
other: '$news new cards',
one: '1 new card',
);
return '$_temp0 due for review. Learning $_temp1 now will add to your review load.';
}
@override
String get studyReviewsDueAllTagsNote =>
'“Review first” studies the whole backlog across every tag — your tag filter doesn\'t apply until it\'s clear.';
@override
String get studyReviewFirst => 'Review first';
@override
String get studyLearnAnyway => 'Learn anyway';
@override
String get studySettingsTagFilterPausedForBacklog =>
'This session is clearing your review backlog across every tag, so these tags aren\'t narrowing it. They apply again to your next session.';
@override
String get studyBuryCard => 'Bury until tomorrow';