feat(todo): a task's sheet partway up and its parts in rounded boxes, as Todoist's
The developer's review of 3 Nov 2026 (ADR 0033, D24): on a phone the sheet opens as high as its content, at most 65 % of the window, the list above it in view, and is dragged up to the whole window or down to close; its title, description, date and reminders each in a rounded box, its priority, labels, deadline and project as a row of chips (named "Priority", "Labels", "Deadline" while unset), and its sub-tasks in a box ending in Add sub-task. Where sheets are dialogs, and in the pane beside the list, the same parts. Todo keeps no comments, so the sheet has no comment field. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
8438caa489
commit
140a283d0e
1 changed files with 401 additions and 181 deletions
|
|
@ -1877,6 +1877,29 @@ void main() {
|
|||
);
|
||||
});
|
||||
|
||||
testWidgets("a task's sheet opens partway up, as Todoist's, its parts in "
|
||||
'rounded boxes and its priority, labels and deadline as chips; '
|
||||
"dragged up, it fills the window (the developer's review, 3 Nov "
|
||||
'2026)', (tester) async {
|
||||
await start(tester, usedBefore: true);
|
||||
await seed(tester, TaskContent(title: 'Pack', projectId: inbox()));
|
||||
await goTab(tester, 'Inbox');
|
||||
|
||||
await tester.tap(find.text('Pack'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
final sheet = find.byType(DraggableScrollableSheet);
|
||||
expect(tester.getRect(sheet).top, greaterThan(900 * 0.3));
|
||||
for (final chip in ['Priority', 'Labels', 'Deadline']) {
|
||||
expect(find.widgetWithText(ActionChip, chip), findsOneWidget);
|
||||
}
|
||||
expect(find.text('Add sub-task'), findsOneWidget);
|
||||
|
||||
await tester.drag(find.byKey(taskSheetHandleKey), const Offset(0, -700));
|
||||
await tester.pumpAndSettle();
|
||||
expect(tester.getRect(sheet).top, lessThan(80));
|
||||
});
|
||||
|
||||
testWidgets("a task's sheet sets its priority, adds a sub-task the row "
|
||||
'counts, and deletes it with its sub-tasks after asking', (
|
||||
tester,
|
||||
|
|
@ -1888,7 +1911,7 @@ void main() {
|
|||
|
||||
await tester.tap(find.text('Pack'));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text('No priority'));
|
||||
await tester.tap(find.widgetWithText(ActionChip, 'Priority'));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text('Priority 1'));
|
||||
await tester.pumpAndSettle();
|
||||
|
|
|
|||
Loading…
Reference in a new issue