feat(learn): a Viewer suggests new flashcards and notes

ADR 0044's step 6b (D48) in the app: where an Editor has Add material, a
Viewer of a shared studyset has Suggest material, offering a flashcard
or a note. The composer and the note editor open suggesting from the
start, saying that what is suggested joins the studyset once its owner
or an editor takes it in; Send suggestion asks why, and Cancel or
sending closes it. Nothing is written into the studyset: the fields go
into the suggestion alone, which goes into the Viewer's own space as
the changes they suggest do.

Whats-New: In a studyset shared with you as a viewer, Suggest material proposes a new flashcard or note to its owner and editors.
Whats-New-De: In einem Lernset, das du nur ansehen darfst, schlägst du über „Material vorschlagen“ neue Karteikarten und Notizen vor.

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-11 21:29:05 +01:00
commit 72cac92365
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
5 changed files with 310 additions and 27 deletions

View file

@ -2318,5 +2318,9 @@
"suggestInSpace": "Änderung vorschlagen",
"suggestInSpaceIntro": "Besitzer:in und Bearbeiter:innen dieses Lernsets sehen es neben ihrer Fassung und übernehmen es oder nicht. Alle darin lesen es, mit deinem öffentlichen Profil.",
"suggestingNote": "Du schlägst eine Änderung vor: Nichts ändert sich, bis Besitzer:in oder Bearbeiter:innen sie übernehmen.",
"suggestSend": "Vorschlag senden"
"suggestSend": "Vorschlag senden",
"studysetSuggestMaterial": "Material vorschlagen",
"suggestNewFlashcard": "Karteikarte vorschlagen",
"suggestNewNote": "Notiz vorschlagen",
"suggestingNew": "Du schlägst etwas Neues vor: Es kommt ins Lernset, sobald Besitzer:in oder Bearbeiter:innen es annehmen."
}

View file

@ -2966,5 +2966,13 @@
"suggestingNote": "You're suggesting a change: nothing changes until the owner or an editor takes it in.",
"@suggestingNote": {"description": "The line above a card or note a Viewer changes as a suggestion"},
"suggestSend": "Send suggestion",
"@suggestSend": {"description": "Sends a Viewer's changed card or note as a suggestion"}
"@suggestSend": {"description": "Sends a Viewer's changed card or note as a suggestion"},
"studysetSuggestMaterial": "Suggest material",
"@studysetSuggestMaterial": {"description": "A Viewer's menu in a shared studyset, in place of Add material (Halkyon's ADR 0044, D44): suggesting new flashcards or notes"},
"suggestNewFlashcard": "Suggest a flashcard",
"@suggestNewFlashcard": {"description": "Suggest material's item: opens the composer, suggesting a new flashcard"},
"suggestNewNote": "Suggest a note",
"@suggestNewNote": {"description": "Suggest material's item: opens the note editor, suggesting a new note"},
"suggestingNew": "You're suggesting something new: it joins the studyset once the owner or an editor takes it in.",
"@suggestingNew": {"description": "Above a flashcard or note a Viewer suggests anew, with Send suggestion and Cancel"}
}

View file

@ -13693,6 +13693,30 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Send suggestion'**
String get suggestSend;
/// A Viewer's menu in a shared studyset, in place of Add material (Halkyon's ADR 0044, D44): suggesting new flashcards or notes
///
/// In en, this message translates to:
/// **'Suggest material'**
String get studysetSuggestMaterial;
/// Suggest material's item: opens the composer, suggesting a new flashcard
///
/// In en, this message translates to:
/// **'Suggest a flashcard'**
String get suggestNewFlashcard;
/// Suggest material's item: opens the note editor, suggesting a new note
///
/// In en, this message translates to:
/// **'Suggest a note'**
String get suggestNewNote;
/// Above a flashcard or note a Viewer suggests anew, with Send suggestion and Cancel
///
/// In en, this message translates to:
/// **'You\'re suggesting something new: it joins the studyset once the owner or an editor takes it in.'**
String get suggestingNew;
}
class _AppLocalizationsDelegate

View file

@ -8747,4 +8747,17 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get suggestSend => 'Vorschlag senden';
@override
String get studysetSuggestMaterial => 'Material vorschlagen';
@override
String get suggestNewFlashcard => 'Karteikarte vorschlagen';
@override
String get suggestNewNote => 'Notiz vorschlagen';
@override
String get suggestingNew =>
'Du schlägst etwas Neues vor: Es kommt ins Lernset, sobald Besitzer:in oder Bearbeiter:innen es annehmen.';
}

View file

@ -8668,6 +8668,19 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get suggestSend => 'Send suggestion';
@override
String get studysetSuggestMaterial => 'Suggest material';
@override
String get suggestNewFlashcard => 'Suggest a flashcard';
@override
String get suggestNewNote => 'Suggest a note';
@override
String get suggestingNew =>
'You\'re suggesting something new: it joins the studyset once the owner or an editor takes it in.';
}
/// The translations for English, as used in the United Kingdom (`en_GB`).