fix(todo): comments handled as Todoist's, and the emoji sheet (ADR 0033, D38)

After the developer's recording of Todoist: the bar opens the comments to
write at once, Show all to read; the heading folds them; Show all and the
latest comment are boxes of their own; a comment shows who wrote it; the
field grows with what wraps, which a long line didn't.

The emoji sheet is written here on emoji_picker_flutter's data: its own
picker has a tab bar on the SDK's Material, which found no localizations
in Todo, so reacting showed an error. Todo gets the compatibility bridge,
as Learn has, since the editor still imports that library.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-06 22:23:31 +01:00
commit c55e94dd99
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -739,7 +739,9 @@ What is Learn's alone stayed in Learn, on top of the package: formula, callout,
Where a note is written follows what it is: a comment, quick add, and the project's, section's and filter's dialogs write it in place (`NoteComposer`, as high as its lines, the format bar while it has the focus); a task's description and a comment being changed open the whole window (`editNote`, as Learn's `editRichText`), and leaving it however it is left keeps what was written, as the field did when it lost the focus. Addresses written in a note become links as it is saved, http and https alone (`withLinks`), as comments had them. The editor asks Android whether a link can open before opening it, so Todo declares both schemes under `<queries>`. Sections had a description in their payload that nothing could write, and projects one that nothing showed: the section's dialog now writes it, and a project's list shows it above its tasks.
A comment's layout follows Todoist's (D36): a task's sheet shows how many, the latest on one line and Show all, with the bar at its foot; comments open on a sheet of their own, each in its box, the latest in view, the field staying at the foot. Reactions are a list of emoji in the comment's payload, each once, from `emoji_picker_flutter` (MIT), whose recents stay on the device; a chip's tap takes its reaction off. With one person on a comment each counts 1, and the list has no names to carry when sharing comes.
A comment's handling follows Todoist's (D36), as recorded on 6 Nov 2026. A task's sheet shows nothing of comments until there is one, only the bar at its foot; then how many, under a heading that folds them, the latest in a box of its own on one line, and Show all in another. The bar opens the comments over the task, ready to write with the keyboard open; Show all or the latest comment open them to read, the field a bar until tapped. The sheet is as high as it holds; each comment is a box with the writer's picture or first letter, their name, when, a menu, the text, and reactions under the name; the task's name leads back. Who wrote a comment isn't kept: its one writer is the person, whose profile gives the name, none where they have none. Todoist's paperclip waits for attachments, and Copy link to comment for links into the app.
Reactions are a list of emoji in the comment's payload, each once; a chip's tap takes its reaction off, and with one person on a comment each counts 1. The emoji sheet is Todoist's too, written here: the search above, the recently used, then every category in one list with a bar to jump between them. `emoji_picker_flutter` (MIT) gives only the emoji, their names in each language and the recents, which stay on the device: its own picker has its search at the foot and a tab bar on the SDK's Material. Todo now has the `MaterialUiCompatibilityBridge`, as Learn does, since the editor still imports that library; without it, the picker's tab bar found no localizations.
## Steps