feat(app): study with faces on the ratings, centred cards and the session's figures
The study session, reworked:
- Ratings are coloured tiles with a face each (frown, meh, smile,
laugh), when the card comes back below them with a clock ("in 1
min", "in 3 days"), always shown, so a card can be rated without
revealing it; at most 540 dp wide, centred.
- Cards are centred in a section card: the question large, then a line
with 24 dp on either side and the answer a size smaller, or "Show
answer" 40 dp below; a tap anywhere on the card shows or hides the
answer. Read-only rich text takes a text style and an alignment.
- Words show their reading small above the expression once answered,
and several meanings numbered.
- Choice, matching and map cards: Check below the card, the ratings in
its place once checked; options marked before their text; matching
lists the categories first, then what is left to place; the map
fills the card with one caption below it.
- Header and progress on a band of their own; title start-aligned,
the Pomodoro timer only to watch, the back-first toggle in every
state; leaving a round under way asks first.
- Cramming goes round the round; back is there with two cards or more,
skipping always.
- The end of a round: the cards done of those due, accuracy (OK counts
half) and time, over the whole session.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
65976ae63a
commit
369ce4ade1
1 changed files with 2145 additions and 643 deletions
|
|
@ -1516,6 +1516,47 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get studyCheck => 'Check';
|
||||
|
||||
@override
|
||||
String get studySelectAll => 'Select all that apply';
|
||||
|
||||
@override
|
||||
String get studySelectOne => 'Select the correct answer';
|
||||
|
||||
@override
|
||||
String get studyMatchingInstructions => 'DRAG AND DROP ONTO CARDS ABOVE';
|
||||
|
||||
@override
|
||||
String get studyMatchingAllPlaced => 'All placed';
|
||||
|
||||
@override
|
||||
String get studyMatchingDropHere => 'Drop here';
|
||||
|
||||
@override
|
||||
String get studyMapTapPrompt => 'Tap a region to answer';
|
||||
|
||||
@override
|
||||
String studyMapSelected(String label) {
|
||||
return 'Selected: $label';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studyCorrect => 'Correct';
|
||||
|
||||
@override
|
||||
String studyCorrectLabel(String label) {
|
||||
return 'Correct — $label';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyMapAnswer(String answer) {
|
||||
return 'Answer: $answer';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyMapPickedAnswer(String picked, String answer) {
|
||||
return 'You picked $picked · Answer: $answer';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studyRatingBad => 'Bad';
|
||||
|
||||
|
|
@ -1543,7 +1584,129 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String get studyDone => 'Done';
|
||||
|
||||
@override
|
||||
String get studyRoundDone => 'Round complete';
|
||||
String get studySessionComplete => 'Session complete';
|
||||
|
||||
@override
|
||||
String studyProgressReviewed(int reviewed, int total) {
|
||||
return '$reviewed / $total reviewed';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyReviewedCount(int reviewed) {
|
||||
return '$reviewed reviewed';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studyStatCards => 'Cards';
|
||||
|
||||
@override
|
||||
String get studyStatAccuracy => 'Accuracy';
|
||||
|
||||
@override
|
||||
String get studyStatTime => 'Time';
|
||||
|
||||
@override
|
||||
String studyDurationSec(int sec) {
|
||||
return '$sec sec';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyDurationMin(int min) {
|
||||
return '$min min';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyDurationMinSec(int min, int sec) {
|
||||
return '$min min $sec sec';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studyLeaveTitle => 'Leave this study session?';
|
||||
|
||||
@override
|
||||
String studyLeaveRated(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other:
|
||||
'Your ratings so far are saved, but the $count cards still left in this round will be discarded if you leave now.',
|
||||
one: 'Your ratings so far are saved, but the last card in this round will be discarded if you leave now.',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyLeaveUnrated(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other:
|
||||
'You haven’t rated any of the $count cards in this round yet — leaving ends the session without recording any progress for it.',
|
||||
one: 'You haven’t rated this card yet — leaving ends the session without recording any progress for this round.',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studyLeaveConfirm => 'Leave';
|
||||
|
||||
@override
|
||||
String get studyKeepStudying => 'Keep studying';
|
||||
|
||||
@override
|
||||
String studyInMinutes(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: 'in $count min',
|
||||
one: 'in 1 min',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyInHours(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: 'in $count hours',
|
||||
one: 'in 1 hour',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyInDays(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: 'in $count days',
|
||||
one: 'in 1 day',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyInMonths(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: 'in $count months',
|
||||
one: 'in 1 month',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String studyInYears(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: 'in $count years',
|
||||
one: 'in 1 year',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studyContinue => 'Continue learning';
|
||||
|
|
@ -1552,17 +1715,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String get studyPrevious => 'Previous card';
|
||||
|
||||
@override
|
||||
String get studyNext => 'Next card';
|
||||
|
||||
@override
|
||||
String get studyReading => 'Reading';
|
||||
|
||||
@override
|
||||
String get studyMeanings => 'Meanings';
|
||||
|
||||
@override
|
||||
String get studyPlaceItems =>
|
||||
'Drag each item onto its category, or tap an item and then a category.';
|
||||
String get studySkipCard => 'Skip card';
|
||||
|
||||
@override
|
||||
String studyMinutes(int count) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue