feat(todo): Settings' Tasks and Reminders, with Snooze on a reminder (ADR 0033, D4)
Settings gains Todo's own groups, kept in the person's sealed settings row on every device. Tasks: the weekday weeks start on (the language's unless set), which the week strip, the date and repeat pickers and the filters follow; and whether a recurring task done opens its sub-tasks again (on at first). Reminders: an automatic reminder (none at first) that TaskRepository writes into a task gaining a time without reminders of its own, and how long a reminder is snoozed for (15 minutes at first). Each reminder's notification has a Snooze action on Android and Linux: the reminder comes back that much later under an ID of its own, scheduled from what the notification carries, so on Android with the app closed too (the plugin's ActionBroadcastReceiver declared); the plan of the person's reminders leaves snoozed ones alone. iOS, macOS and Windows get it later. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
2939437c74
commit
51ebed41cd
1 changed files with 1204 additions and 69 deletions
|
|
@ -9,6 +9,9 @@ class MemoryReminderGateway() implements ReminderGateway {
|
|||
/// How often the scheduled ones were replaced.
|
||||
int replaced = 0;
|
||||
|
||||
/// How the scheduled ones are snoozed.
|
||||
({int minutes, String label})? snooze;
|
||||
|
||||
/// What the person answers when asked.
|
||||
bool allowed = true;
|
||||
|
||||
|
|
@ -19,8 +22,10 @@ class MemoryReminderGateway() implements ReminderGateway {
|
|||
Future<void> replace(
|
||||
List<ReminderNotice> notices, {
|
||||
required String channel,
|
||||
({int minutes, String label})? snooze,
|
||||
}) async {
|
||||
scheduled = [...notices];
|
||||
this.snooze = snooze;
|
||||
replaced++;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue