feat(todo): a project's editor as Todoist's Add project, with sub-projects and favourites
Adding or editing a project was a dialog of a name and a colour. It is now a screen of its own on a phone (a dialog where sheets are dialogs), as Todoist's Add project: the name counted to 120, a description, the colour, the parent project, a Favourite switch and the layout, Display's pictures. All of it lives in the project's sealed payload, the schema still 1, no server model or migration; the payload now keeps fields it doesn't know, as a task's does. A new project starts with the layout picked, and Display's Reset all returns to that default rather than to List. Browse lists sub-projects indented and folding under their parents, and the favourites in a group above; a project is never offered as its own ancestor, and a parent's deletion takes its sub-projects, naming them first, as Todoist's. ADR 0033, D28. Whats-New: Add project and Edit project are a screen of their own, with a description, a parent project, Favourite and the layout. Whats-New: Browse lists sub-projects under their parents and your favourite projects at the top. Whats-New: Reset all in Display returns to the layout the project was made with. Whats-New-De: „Projekt hinzufügen“ und „Projekt bearbeiten“ sind eine eigene Seite, mit Beschreibung, übergeordnetem Projekt, Favorit und Layout. Whats-New-De: „Übersicht“ zeigt Unterprojekte unter ihren Projekten und deine Favoriten oben. Whats-New-De: „Alles zurücksetzen“ in der Anzeige kehrt zum Layout zurück, mit dem das Projekt angelegt wurde. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
7e2f224c66
commit
d0e72cf095
1 changed files with 1094 additions and 93 deletions
|
|
@ -461,6 +461,32 @@ The developer's review of 4 Nov 2026, again beside Todoist's screens.
|
|||
- **D27 Listed in F-Droid as *Task* and *Calendar & Agenda*** (the developer's, both,
|
||||
over *Time*, which F-Droid's categories give to clocks and timers): no other app of
|
||||
the repository used *Time*, so the repository no longer lists it.
|
||||
- **D28 A project's editor as Todoist's Add project, with sub-projects and
|
||||
favourites** (the developer's, over the dialog of a name and a colour): a screen of its
|
||||
own on a phone (*Add project*, *Edit project*, ← and ✓ in its app bar), the same in a
|
||||
dialog where sheets are dialogs; the name counted to 120, a description, then rounded
|
||||
rows: the colour (its palette name, opening the picker), the parent project (*No
|
||||
parent* or a project, from a sheet listing them indented; never the project itself
|
||||
nor any project below it, `parentChoices`, so none becomes its own ancestor), a
|
||||
Favourite switch; then the Layout, Display's pictures (`LayoutPicker`). All of it is
|
||||
**in the project's sealed payload** (`description`, `parentId`, `favorite`,
|
||||
`defaultView`), no server model changed, no migration, the schema still 1; the payload
|
||||
now keeps the fields it doesn't know, as a task's (D18), so a later version's survive
|
||||
an edit here (a 0.2.0 device editing a project still drops these). **The default
|
||||
Display**: a new project starts with the layout picked, and Display's *Reset all*
|
||||
returns to it (`defaultView`, the dot on Display marking a Display that differs from
|
||||
it); the editor sets its layout, and a layout picked anew there shows at once.
|
||||
Projects made before keep List as their default. **Browse** lists each project's
|
||||
sub-projects indented under it, folding under its chevron (the fold not kept, agent's
|
||||
choice: a choice of the device, and quick to make again), and the favourite projects
|
||||
in a *Favourites* group above the projects. A project whose parent is gone or doesn't
|
||||
open here, or projects whose parents run in a circle (two devices each moving one
|
||||
under the other), stand as projects of their own, none lost (`projectTree`). **Deleting
|
||||
a project deletes its sub-projects**, with their sections and tasks, as Todoist does,
|
||||
the confirmation naming them first (`TodoPerson.deleteProject`). *Alternatives:* the
|
||||
sub-projects moved up a level (kept, but surprising after a confirmation that named
|
||||
only the parent); a depth limit as Todoist's (four levels), left until deep trees turn
|
||||
out to be a problem.
|
||||
|
||||
## Steps
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue