feat(studyset): Material, Progress and Study plan in place of the tabs
All checks were successful
CI / check (push) Successful in 15m14s
CI / deploy (push) Successful in 1m17s

The studyset's four tabs become three parts, as Vaia has them, chosen
with a switch in the header that ticks as the navigation bar does: below
expanded windows in a line of its own under the title, above the path
and Topics; from there on at the end of the path's line, which the
topics leave free there.

- Material: the flashcards, notes and files one below the other, the
  first three of each with Show all; Browse, the tag filter (where all
  cards show, or while they are narrowed) and Reorder in each section's
  header; an outlined box where a section is empty.
- Progress, once anything in the studyset was studied (a card rated, a
  path finished): how much is learnt (mature cards), how many studied
  cards are due today, and how long it was studied this week on this
  device, with a line of the seven days (StudysetActivityCubit, from the
  reviews' durations).
- Study plan: a ring of the paths finished, Next up (study the cards due,
  go on with the first path not finished), then the paths.

It opens on the part it was left on; a tab kept before counts as its
part. Opened for the first time, it opens on the study plan while a path
is unfinished, else on the material. Material added lands in its part.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-12 13:48:11 +02:00
commit 246c9dc143
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -6126,4 +6126,117 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get searchEngineCustomSave => 'Verwenden';
@override
String get studysetPartMaterial => 'Material';
@override
String get studysetPartProgress => 'Fortschritt';
@override
String get studysetPartPlan => 'Lernplan';
@override
String get studysetShowAll => 'Alle zeigen';
@override
String get studysetShowFewer => 'Weniger zeigen';
@override
String get progressLearned => 'Gelernt';
@override
String get progressLearnedInfo =>
'Karten, die du drei Wochen oder länger behältst.';
@override
String get progressOfStudyset => 'dieses Lernsets';
@override
String progressCardsLearned(int learned, int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$learned von $count Karten',
one: '$learned von 1 Karte',
);
return '$_temp0';
}
@override
String get progressToReview => 'Zu wiederholen';
@override
String get progressToReviewInfo =>
'Schon gelernte Karten, die heute wieder fällig sind.';
@override
String progressDueToday(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Karten heute fällig',
one: 'Karte heute fällig',
);
return '$_temp0';
}
@override
String get progressStudyTime => 'Lernzeit';
@override
String get progressStudyTimeInfo =>
'Wie lange du die Karteikarten dieses Lernsets in den letzten sieben Tagen auf diesem Gerät gelernt hast.';
@override
String get progressThisWeek => 'diese Woche';
@override
String progressMinutes(int minutes) {
return '$minutes Min.';
}
@override
String progressHoursMinutes(int hours, int minutes) {
return '$hours Std. $minutes Min.';
}
@override
String planPathsDone(int done, int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$done von $count Pfaden abgeschlossen',
one: '$done von 1 Pfad abgeschlossen',
);
return '$_temp0';
}
@override
String get planNoPaths => 'Noch keine Lernpfade';
@override
String get planNextUp => 'Als Nächstes';
@override
String planReview(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Karteikarten lernen',
one: '1 Karteikarte lernen',
);
return '$_temp0';
}
@override
String planContinue(String title) {
return '„$title“ fortsetzen';
}
@override
String get planNothing => 'Gerade steht nichts an.';
@override
String get planLearningPaths => 'Lernpfade';
}