feat(learn): a split of Topics, Introduction and Bibliography beside the material
As Tomorrow University's challenges have it (the developer's decisions of 10 Nov 2026): beside a studyset's material, one at a time, its topics, its introduction (the description, whole; left out where there is none) and its bibliography, read and changed in place. In the side column from expanded windows on, in the topics' sheet below; it opens on Topics, at every level. The description no longer stands above the material, nor the bibliography's button at the foot of the topics. The pill between the material's parts becomes PillSwitch, shared by both. Whats-New: A studyset's topics, introduction and bibliography now share one panel beside its material, a tap apart. Whats-New-De: Themen, Einführung und Literatur eines Lernsets teilen sich jetzt ein Feld neben dem Material, einen Tipp voneinander entfernt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
a3b124ddcb
commit
bed39dc2a2
1 changed files with 369 additions and 363 deletions
|
|
@ -6,6 +6,7 @@ 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/studyset/data/studyset_payload.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/studyset/model/studyset_content.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/studyset/widget/studyset_side_panel.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/tag/data/tag_repository.dart';
|
||||
import 'package:material_ui/material_ui.dart';
|
||||
|
||||
|
|
@ -138,6 +139,14 @@ void main() {
|
|||
studyButtonBackFirstKey: true,
|
||||
});
|
||||
await showApp(tester, RoutePaths.studyset('lesson'));
|
||||
// The description is the split's Introduction (decided 10 Nov 2026).
|
||||
await tester.tap(
|
||||
find.descendant(
|
||||
of: find.byKey(StudysetSidePanel.switchKey),
|
||||
matching: find.text('Introduction'),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
await tester.tap(find.widgetWithText(FilledButton, 'Verbs'));
|
||||
await tester.pumpAndSettle();
|
||||
|
|
@ -150,6 +159,14 @@ void main() {
|
|||
testWidgets('a button whose studyset is gone says so', (tester) async {
|
||||
describedWithButton({studyButtonStudysetKey: 'gone'});
|
||||
await showApp(tester, RoutePaths.studyset('lesson'));
|
||||
// The description is the split's Introduction (decided 10 Nov 2026).
|
||||
await tester.tap(
|
||||
find.descendant(
|
||||
of: find.byKey(StudysetSidePanel.switchKey),
|
||||
matching: find.text('Introduction'),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
await tester.tap(find.widgetWithText(FilledButton, 'Study'));
|
||||
await tester.pump();
|
||||
|
|
|
|||
Loading…
Reference in a new issue