feat(todo): dialogs on the desktop, the tabs reordered, a task's path and menu (ADR 0033, D11 to D14)
- halkyon_ui: showAdaptiveSheet shows a dialog on Linux, macOS and Windows at every width (bottom sheets stay on phones and tablets below expanded windows), so Learn and Train follow; SheetScaffold takes a heading in the title's place and may leave out its close button. - Todo: the tabs are Inbox, Today, Upcoming, Browse, Today still opening; `serverpod start` launches the app on Linux, as it has no web build. - A task's sheet shows where the task is (its project, an icon once tasks are above it, and the tasks above it, each opening what it names) and a ⋮ menu in place of its close button: when it was added (its UUID v7), Duplicate with its sub-tasks, hiding its done sub-tasks (synced in its payload), Close in the pane, Delete after asking. The description's icon stays by its first line. - A row names its project and section at the end of its date's line; every menu entry has its icon. - Learn: a studyset's path starts at the Library tab's icon, named by its tooltip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
666e8dbcbb
commit
b908019969
1 changed files with 1050 additions and 125 deletions
|
|
@ -321,7 +321,22 @@ void main() {
|
|||
of: find.byType(StudysetBreadcrumb),
|
||||
matching: find.text(text),
|
||||
);
|
||||
expect(step('Library'), findsOneWidget);
|
||||
// The library is its icon, named by its tooltip (Todo's ADR 0033).
|
||||
expect(step('Library'), findsNothing);
|
||||
expect(
|
||||
find.descendant(
|
||||
of: find.byType(StudysetBreadcrumb),
|
||||
matching: find.byTooltip('Library'),
|
||||
),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(
|
||||
find.descendant(
|
||||
of: find.byType(StudysetBreadcrumb),
|
||||
matching: find.byIcon(LucideIcons.book),
|
||||
),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(step('Japanese'), findsOneWidget);
|
||||
expect(step('Kana'), findsOneWidget);
|
||||
expect(step('›'), findsNWidgets(2));
|
||||
|
|
@ -1412,7 +1427,7 @@ void main() {
|
|||
.getCenter(
|
||||
find.descendant(
|
||||
of: find.byType(StudysetBreadcrumb),
|
||||
matching: find.text('Library'),
|
||||
matching: find.byIcon(LucideIcons.book),
|
||||
),
|
||||
)
|
||||
.dy,
|
||||
|
|
@ -1576,7 +1591,9 @@ void main() {
|
|||
.ancestor(
|
||||
of: find.descendant(
|
||||
of: find.byType(StudysetBreadcrumb),
|
||||
matching: find.text(text),
|
||||
matching: text == 'Library'
|
||||
? find.byIcon(LucideIcons.book)
|
||||
: find.text(text),
|
||||
),
|
||||
matching: find.byType(GestureDetector),
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue