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

@ -2890,6 +2890,42 @@ abstract class AppLocalizations {
/// **'Close session'**
String get studyClose;
/// No description provided for @studyReviewsDueTitle.
///
/// In en, this message translates to:
/// **'You have reviews due'**
String get studyReviewsDueTitle;
/// No description provided for @studyReviewsDueBody.
///
/// In en, this message translates to:
/// **'{reviews, plural, =1{1 card is} other{{reviews} cards are}} due for review. Learning {news, plural, =1{1 new card} other{{news} new cards}} now will add to your review load.'**
String studyReviewsDueBody(int reviews, int news);
/// No description provided for @studyReviewsDueAllTagsNote.
///
/// In en, this message translates to:
/// **'“Review first” studies the whole backlog across every tag — your tag filter doesn\'t apply until it\'s clear.'**
String get studyReviewsDueAllTagsNote;
/// No description provided for @studyReviewFirst.
///
/// In en, this message translates to:
/// **'Review first'**
String get studyReviewFirst;
/// No description provided for @studyLearnAnyway.
///
/// In en, this message translates to:
/// **'Learn anyway'**
String get studyLearnAnyway;
/// No description provided for @studySettingsTagFilterPausedForBacklog.
///
/// In en, this message translates to:
/// **'This session is clearing your review backlog across every tag, so these tags aren\'t narrowing it. They apply again to your next session.'**
String get studySettingsTagFilterPausedForBacklog;
/// No description provided for @studyBuryCard.
///
/// In en, this message translates to: