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:
parent
1aa679fe3e
commit
138c4dd46e
1 changed files with 719 additions and 169 deletions
|
|
@ -3,6 +3,7 @@ import 'package:halkyon_learn_flutter/src/core/content/rich_content.dart';
|
|||
import 'package:halkyon_learn_flutter/src/core/router/route_paths.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/card/data/card_repository.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/card/model/card_content.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/card/widget/card_extras.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/card/widget/composer/card_composer_screen.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/geo_map/data/geo_map_repository.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/geo_map/widget/region_map.dart';
|
||||
|
|
@ -375,7 +376,15 @@ void main() {
|
|||
|
||||
await tester.tap(find.text('Hints'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('Hints 2'), findsOneWidget);
|
||||
// The count in a grey badge of its own, not read as the hint's place.
|
||||
expect(find.text('Hints'), findsWidgets);
|
||||
expect(
|
||||
find.descendant(
|
||||
of: find.byKey(hintsCountKey),
|
||||
matching: find.text('2'),
|
||||
),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.text('1 / 2'), findsOneWidget);
|
||||
expect(find.textContaining('a verb', findRichText: true), findsOneWidget);
|
||||
await tester.tap(find.byTooltip('Next hint'));
|
||||
|
|
@ -834,8 +843,11 @@ void main() {
|
|||
await tester.tap(find.text('Show answer'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('1.'), findsOneWidget);
|
||||
expect(find.text('frog'), findsOneWidget);
|
||||
expect(find.text('(zoology)'), findsOneWidget);
|
||||
expect(find.textContaining('frog', findRichText: true), findsWidgets);
|
||||
expect(
|
||||
find.textContaining('(zoology) rain frog', findRichText: true),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.byTooltip('usually written using kana alone'), findsOneWidget);
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue