feat(learn): pick up learning on Home, the studysets studied latest first, and Progress closer to Vaia's

Home gets a widget of its own, Pick up learning, below the goal: the
studysets at the top of the library that were studied, the one rated last
first, so one studied long ago sinks. Three show, the others behind Show
more. Each shows its name, which opens it, how much is learnt, when it was
last studied, and today's task (cards to review, new cards to learn), which
starts studying it, outlined while reviews wait. The progress is the
library's, worked out once for every screen; when each was last studied
comes from the reviews Home reads anyway. With nothing studied it takes no
room.

A dashboard arranged before it gets the widget below the goal, wherever
the goal is: a widget a layout misses now goes after the one before it in
a new dashboard, no longer at the end.

On a studyset's Progress, the tiles are filled without an outline, To
review has a history icon (amber while cards are due), the learnt bar is
thicker, and the exam follows the figures, as Vaia asks for its date
there: an invitation to choose it, opening the study plan's sheet, or,
once chosen, how ready the person is.

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

View file

@ -8140,6 +8140,66 @@ abstract class AppLocalizations {
/// **'Open the PDF at this page'**
String get imageOpenPdfPage;
/// No description provided for @homeWidgetPickUp.
///
/// In en, this message translates to:
/// **'Pick up learning'**
String get homeWidgetPickUp;
/// No description provided for @homePickUpPlaceholder.
///
/// In en, this message translates to:
/// **'The studysets you study, the latest first'**
String get homePickUpPlaceholder;
/// No description provided for @homePickUpStudied.
///
/// In en, this message translates to:
/// **'{days, plural, =0{Studied today} =1{Studied yesterday} other{Studied {days} days ago}}'**
String homePickUpStudied(int days);
/// No description provided for @homePickUpLearned.
///
/// In en, this message translates to:
/// **'{percent} % learned'**
String homePickUpLearned(int percent);
/// No description provided for @homePickUpReview.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Review 1 card} other{Review {count} cards}}'**
String homePickUpReview(int count);
/// No description provided for @homePickUpLearn.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Learn 1 new card} other{Learn {count} new cards}}'**
String homePickUpLearn(int count);
/// No description provided for @homePickUpReviewAndLearn.
///
/// In en, this message translates to:
/// **'Review {reviews}, learn {fresh} new'**
String homePickUpReviewAndLearn(int reviews, int fresh);
/// No description provided for @homePickUpDone.
///
/// In en, this message translates to:
/// **'Nothing due today'**
String get homePickUpDone;
/// No description provided for @homePickUpMore.
///
/// In en, this message translates to:
/// **'Show {count} more'**
String homePickUpMore(int count);
/// No description provided for @homePickUpFewer.
///
/// In en, this message translates to:
/// **'Show fewer'**
String get homePickUpFewer;
/// No description provided for @homeWidgetDeadlines.
///
/// In en, this message translates to:
@ -11534,6 +11594,24 @@ abstract class AppLocalizations {
/// **'{count, plural, =1{card due today} other{cards due today}}'**
String progressDueToday(int count);
/// No description provided for @progressExamTitle.
///
/// In en, this message translates to:
/// **'Preparing for an exam?'**
String get progressExamTitle;
/// No description provided for @progressExamHint.
///
/// In en, this message translates to:
/// **'Choose it and its date to see how ready you are.'**
String get progressExamHint;
/// No description provided for @progressExamChoose.
///
/// In en, this message translates to:
/// **'Choose the exam'**
String get progressExamChoose;
/// No description provided for @progressStudyTime.
///
/// In en, this message translates to: