Mail · Sorting: a label picker and a snooze menu

LabelPicker puts labels on a message: a field finds them by name,
arrows move and a press or Enter turns one on or off, each row with its
check and its hue. A name no label has can be made into one, and the
field starts over. Its rows are the option rows every list shares;
forms::marked_row leads one with a mark. The cursor shows only while
the field has focus.

SnoozePicker offers later today, tomorrow, this weekend and next week,
each with its day and hour, or a time picked in a dialog. It shares
mail::times with ScheduleSend: the names, the dialog, which now waits
for a time ahead of now, and a rule that a moment comes once, so on a
Sunday tomorrow morning no longer repeats as Monday morning.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-27 01:16:24 -04:00
1 parent 14b5faa80c
commit ccbc0970e5
16 files changed
+1037 -144

No files matched your search

+3 -1
View File
@@ -105,7 +105,7 @@ Per-component lines live in `tasks/`. Tags there:
- [x] T28e Messaging · Stickers and GIFs
- [x] T29a Mail · Boxes and lists
- [x] T29b Mail · Reading
- [ ] T29c Mail · Writing
- [x] T29c Mail · Writing
- [ ] T29d Mail · Sorting
- [ ] T30 Calendar
- [ ] T31 Project — `tasks/ch31-43.md`
@@ -346,3 +346,5 @@ Per-component lines live in `tasks/`. Tags there:
| T29a | 2 | PASS | |
| T29b | 1 | FAIL | a folded message lost focus as it opened; a long name beside a long date ran past a 280px fold |
| T29b | 2 | PASS | |
| T29c | 1 | FAIL | a long chip ran past its tag field at 280px |
| T29c | 2 | PASS | |