feat(learn): the assistant's button folded on Home too, the conversation at full height folding into it, and smaller fixes from the developer's list (ADR 0021, D64, D65)

- Home's assistant starts folded into its button at the lower left, as
  in the Library, where a field stood at its foot.
- The button has Material 3's floating action button shape (a rounded
  square) rather than a circle, its gradient ring kept.
- On a studyset below expanded windows it stands in one row with Add
  material and Study rather than above them.
- While studying, the ratings below the card make way while its field
  is open rather than standing under it.
- The conversation opens at the window's full height, its header above
  the list, so a drag on the header moves the sheet and a drag on the
  list scrolls it. Close ends the conversation; any other way out folds
  it into the button (ConversationDockCubit, above the router), its
  answer still coming, until any button opens it again or another
  conversation starts.
- An answer's Copy icon lines up with the answer's text.
- A sense's grammar notes run on after its glosses as one flowing text,
  so a short note such as "n" no longer takes a line of its own.
- A card's hints show their count in a grey badge beside the title, so
  it no longer reads as the hint's number.

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 00:42:14 +01:00
commit 138c4dd46e
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
5 changed files with 719 additions and 169 deletions

View file

@ -658,7 +658,7 @@
"cardExplanation": "Erklärung",
"cardAddExplanation": "Erklärung hinzufügen",
"cardRemoveExplanation": "Erklärung entfernen",
"cardHintsSheetTitle": "{count, plural, =1{Hinweis} other{Hinweise {count}}}",
"cardHintsSheetTitle": "{count, plural, =1{Hinweis} other{Hinweise}}",
"cardPreviousHint": "Vorheriger Hinweis",
"cardNextHint": "Nächster Hinweis",
"cardReport": "Meldung",
@ -1810,6 +1810,7 @@
"settingsAskAssistantSubtitle": "Aus, bis du es einschaltest. Fügt ein Feld auf der Startseite und einen Knopf in der Bibliothek, bei einem Lernset und beim Lernen hinzu. Eine Frage öffnet sich als Websuche, nur mit den Teilen einer Karteikarte, die du wählst; von hier aus wird nichts gesendet.",
"assistantOpen": "Im Web suchen",
"assistantClose": "Schließen",
"assistantBackToConversation": "Zurück zur Unterhaltung",
"assistantLineFront": "Vorderseite: {text}",

View file

@ -755,7 +755,7 @@
"cardExplanation": "Explanation",
"cardAddExplanation": "Add explanation",
"cardRemoveExplanation": "Remove explanation",
"cardHintsSheetTitle": "{count, plural, =1{Hint} other{Hints {count}}}",
"cardHintsSheetTitle": "{count, plural, =1{Hint} other{Hints}}",
"@cardHintsSheetTitle": {"placeholders": {"count": {"type": "int"}}},
"cardPreviousHint": "Previous hint",
"cardNextHint": "Next hint",
@ -2120,6 +2120,10 @@
"settingsAskAssistantSubtitle": "Off unless you turn it on. Adds a field on Home and a button in the Library, on a studyset and while studying. A question opens as a web search, with only the parts of a card you choose; nothing is sent from here.",
"assistantOpen": "Search the web",
"assistantClose": "Close",
"assistantBackToConversation": "Back to the conversation",
"@assistantBackToConversation": {
"description": "The tooltip of the assistant's button while a conversation is folded away into it, its sheet swiped down."
},
"assistantLineFront": "Front: {text}",

View file

@ -3931,7 +3931,7 @@ abstract class AppLocalizations {
/// No description provided for @cardHintsSheetTitle.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Hint} other{Hints {count}}}'**
/// **'{count, plural, =1{Hint} other{Hints}}'**
String cardHintsSheetTitle(int count);
/// No description provided for @cardPreviousHint.
@ -10689,6 +10689,12 @@ abstract class AppLocalizations {
/// **'Close'**
String get assistantClose;
/// The tooltip of the assistant's button while a conversation is folded away into it, its sheet swiped down.
///
/// In en, this message translates to:
/// **'Back to the conversation'**
String get assistantBackToConversation;
/// A line of context handed to the AI assistant after the question.
///
/// In en, this message translates to:

View file

@ -2393,7 +2393,7 @@ class AppLocalizationsDe extends AppLocalizations {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Hinweise $count',
other: 'Hinweise',
one: 'Hinweis',
);
return '$_temp0';
@ -6691,6 +6691,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get assistantClose => 'Schließen';
@override
String get assistantBackToConversation => 'Zurück zur Unterhaltung';
@override
String assistantLineFront(String text) {
return 'Vorderseite: $text';

View file

@ -2371,7 +2371,7 @@ class AppLocalizationsEn extends AppLocalizations {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Hints $count',
other: 'Hints',
one: 'Hint',
);
return '$_temp0';
@ -6627,6 +6627,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get assistantClose => 'Close';
@override
String get assistantBackToConversation => 'Back to the conversation';
@override
String assistantLineFront(String text) {
return 'Front: $text';