feat: a round in the order cards come, shared daily limits, and a start screen
Studying: - A round is one list in the order its cards come: those done, the one shown, those to come. A card due again within the day goes back in after 4 more cards when rated Bad, at the end otherwise, so the pills above the card follow it; the buttons say "in 4 cards", "at the end", "now" (round_order.dart). - The studied studyset's daily limits hold for everything inside it together, as Anki's do for subdecks: twenty topics start 20 new cards a day in all, not 20 each. - The study header's studyset name shows whole on hover or long press. - The assistant's button sits at the lower left: in the Library across from Create studyset, in a studyset above its bar, and higher while studying, above the buttons that answer the card. A studyset: - Progress also counts the learning paths' steps done and lists the PDFs not read to their end, begun first, each opening the reader, across its topics (MaterialProgressCubit). - Next up starts with studying for the exam while one is ahead: its reviews due and the new cards its pace leaves for the day. - Learning paths tagged with a level count towards its automatic exam plan and offer it, as cards do. - A step's first heading equal to its title is dropped on import and hidden in paths imported before. Signing out, or a session the server ended, leads to a start screen (GitHub, email, without an account, another instance) rather than a new anonymous account; only the very first start makes one by itself. Settings names the kind of account and its instance. Also: the Watch screen reads the cards once for held words and their progress; its ±10 s buttons tick as the navigation bar does; a map card keeps its view as its caption changes and brings a picked region towards the middle; an empty or failed library can be pulled to sync. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
238a1a93ae
commit
de6af3efab
1 changed files with 2677 additions and 293 deletions
|
|
@ -2113,6 +2113,24 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get instanceWelcome => 'Willkommen bei Halkyon Learn';
|
||||
|
||||
@override
|
||||
String get startSignedOut => 'Abgemeldet';
|
||||
|
||||
@override
|
||||
String startOn(String instance) {
|
||||
return 'Starte auf $instance:';
|
||||
}
|
||||
|
||||
@override
|
||||
String get startWithoutAccount => 'Ohne Konto starten';
|
||||
|
||||
@override
|
||||
String get startNoGitHubAccount =>
|
||||
'Noch kein Konto hier meldet sich mit diesem GitHub-Konto an. Starte ohne Konto und füge GitHub dann im Profil hinzu.';
|
||||
|
||||
@override
|
||||
String get startOtherInstance => 'Andere Instanz verwenden';
|
||||
|
||||
@override
|
||||
String get instanceFirstStartSubtitle =>
|
||||
'Wähle die Instanz, auf der deine Lernsets liegen sollen. Jede betreibt jemand; weitere kannst du später hinzufügen.';
|
||||
|
|
@ -2147,6 +2165,22 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get settingsSwitchAccount => 'Konto wechseln';
|
||||
|
||||
@override
|
||||
String settingsAccountAnonymous(String instance) {
|
||||
return 'Anonym auf $instance';
|
||||
}
|
||||
|
||||
@override
|
||||
String settingsAccountSignedIn(String instance) {
|
||||
return 'Angemeldet auf $instance';
|
||||
}
|
||||
|
||||
@override
|
||||
String get accountAnonymous => 'Anonym';
|
||||
|
||||
@override
|
||||
String get accountSignedIn => 'Angemeldet';
|
||||
|
||||
@override
|
||||
String get accountsTitle => 'Konten';
|
||||
|
||||
|
|
@ -3572,6 +3606,23 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get studyCheck => 'Prüfen';
|
||||
|
||||
@override
|
||||
String studyComesBackIn(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: 'nach $count Karten',
|
||||
one: 'nach 1 Karte',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studyComesBackAtEnd => 'am Ende';
|
||||
|
||||
@override
|
||||
String get studyComesBackNow => 'sofort';
|
||||
|
||||
@override
|
||||
String get studySelectAll => 'Wähle alle zutreffenden aus';
|
||||
|
||||
|
|
@ -7069,6 +7120,55 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
return '$hours Std. $minutes Min.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get progressPathsInfo =>
|
||||
'Die Schritte der Lernpfade dieses Lernsets und seiner Themen, die du erledigt hast.';
|
||||
|
||||
@override
|
||||
String progressStepsDone(int total) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
total,
|
||||
locale: localeName,
|
||||
other: 'von $total Schritten erledigt',
|
||||
one: 'von 1 Schritt erledigt',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get progressReading => 'Lesen';
|
||||
|
||||
@override
|
||||
String get progressReadingInfo =>
|
||||
'Die PDFs dieses Lernsets und seiner Themen, die du noch nicht bis zur letzten Seite gelesen hast. Tippe eins an, um weiterzulesen.';
|
||||
|
||||
@override
|
||||
String progressPdfPage(int page, int count) {
|
||||
return 'Seite $page von $count';
|
||||
}
|
||||
|
||||
@override
|
||||
String get progressPdfNotBegun => 'Noch nicht begonnen';
|
||||
|
||||
@override
|
||||
String progressPdfsAllRead(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: 'Alle $count PDFs sind zu Ende gelesen.',
|
||||
one: 'Das PDF ist zu Ende gelesen.',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String progressShowAllPdfs(int count) {
|
||||
return 'Alle $count zeigen';
|
||||
}
|
||||
|
||||
@override
|
||||
String get progressShowFewerPdfs => 'Weniger zeigen';
|
||||
|
||||
@override
|
||||
String planPathsDone(int done, int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
|
|
@ -7097,6 +7197,17 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String planStudyForExam(int count, String exam) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: '$count Karteikarten für $exam lernen',
|
||||
one: '1 Karteikarte für $exam lernen',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String planContinue(String title) {
|
||||
return '„$title“ fortsetzen';
|
||||
|
|
|
|||
Loading…
Reference in a new issue