feat(todo,meditate): what a setting does behind its question mark
The developer's review of 3 Nov 2026 (ADR 0033, D25): an explanation stands one tap away, behind halkyon_ui's HelpButton beside the setting's name, rather than always below it. Todo: resetting sub-tasks, the automatic reminder (its value stays below), counting a recurrence from completion. Meditate: keeping the screen on, the streak, the morning's dream prompt. What is the person's own (a value, a count) stays in view; an empty list's message and quick add's hint about highlighted words, shown only while there are some, stay too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
140a283d0e
commit
ef80453fa0
1 changed files with 102 additions and 16 deletions
|
|
@ -2712,6 +2712,28 @@ void main() {
|
|||
() => SettingsRepository(settingsRows, keys).read(),
|
||||
))!;
|
||||
|
||||
testWidgets('what a setting does stays behind its question mark until '
|
||||
"asked (the developer's review, 3 Nov 2026)", (tester) async {
|
||||
await start(tester, usedBefore: true);
|
||||
await openSettings(tester);
|
||||
const hint = 'Open them again when a recurring task is done';
|
||||
expect(find.text(hint), findsNothing);
|
||||
expect(
|
||||
find.textContaining('unless it has reminders of its own'),
|
||||
findsNothing,
|
||||
);
|
||||
|
||||
final help = find.descendant(
|
||||
of: find.widgetWithText(SwitchListTile, 'Reset sub-tasks'),
|
||||
matching: find.byType(HelpButton),
|
||||
);
|
||||
await tester.ensureVisible(help);
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(help);
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text(hint), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('Tasks and Reminders come before the account; a week '
|
||||
"started on Sunday starts Upcoming's strip on it, kept for every "
|
||||
'device', (tester) async {
|
||||
|
|
@ -2750,7 +2772,13 @@ void main() {
|
|||
'reminders are snoozed for as long as set', (tester) async {
|
||||
await start(tester, usedBefore: true);
|
||||
await openSettings(tester);
|
||||
expect(find.textContaining(RegExp(r'^None\n')), findsOneWidget);
|
||||
expect(
|
||||
find.descendant(
|
||||
of: find.widgetWithText(ListTile, 'Automatic reminder'),
|
||||
matching: find.text('None'),
|
||||
),
|
||||
findsOneWidget,
|
||||
);
|
||||
await choose(tester, 'Automatic reminder', '30 minutes before');
|
||||
await choose(tester, 'When snoozed', '10 minutes');
|
||||
final settings = await stored(tester);
|
||||
|
|
|
|||
Loading…
Reference in a new issue