docs: bring README and Doku up to date with trash, retention, voice choice, undo, combined kanban and editor selection
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3de6c6088b
commit
a4e08bdff8
9 files changed
+54
-33
No files matched your search
@@ -8,11 +8,13 @@ Eine Aufgabe ist ein `thought` ([database.md](../database.md)) mit `kanbanStatus
|
||||
|
||||
## Ansichten
|
||||
|
||||
- **Liste** mit Filtern (offen, erledigt, Papierkorb), Gruppierung (z. B. nach Status oder Fälligkeit), Sortierung und Hashtag-Filter.
|
||||
- **Kanban:** Spalten pro Liste frei konfigurierbar (Name, Farbe, „Erledigt“-Spalte). Farben in „Spalten anpassen“ über den Punkt vor dem Namen: Grau, Anthrazit (Textfarbe des Themes), Grün, Gelb, Blau, Rot, Lila, Akzentfarbe (`columns[].color` = `gray`/`slate`/`green`/`yellow`/`blue`/`red`/`purple`/`accent`; ältere Werte `emerald`/`amber` gelten als Grün/Gelb, Spalten ohne Farbe behalten die ihrer Rolle). Der Punkt erscheint im Spaltenkopf, vor dem Status in der Listenansicht und im Detail-Fenster ([ManageColumnsModal.tsx](../../frontend/src/features/triage/ManageColumnsModal.tsx), `columnDotClass`). Blau und Lila kommen aus `--color-info` / `--color-purple`; Themes können sie setzen, sonst gelten Standardwerte aus `index.css`. Standard: *Zu erledigen*, *In Bearbeitung*, *Wartet auf andere*, *Erledigt*. Eine Karte in eine „Erledigt“-Spalte zu ziehen setzt `isCompleted`.
|
||||
- **Erledigte aufräumen** ([done_cleanup.go](../../internal/storage/done_cleanup.go)): Erledigte Aufgaben werden standardmäßig 30 Tage nach dem Abhaken gelöscht. Die Frist stellt jede Person im Reiter „Erledigt“ ein (7, 30, 90, 365 Tage oder nie, `users.done_retention_days`); für Aufgaben in einer Liste gilt die Frist des Eigentümers, für persönliche die eigene. Den Zeitpunkt setzt ein Trigger (`thoughts.completed_at`), egal auf welchem Weg abgehakt wird; der Server räumt stündlich auf (nicht in der Demo). „Erledigte leeren“ (`POST /tasks/clear-done`) löscht sofort, aber nur, was man bearbeiten darf. Ein mit einer Notiz verknüpftes Häkchen bleibt dabei als normales Häkchen stehen.
|
||||
- **Liste** mit den Reitern Offen, Erledigt und Papierkorb; Gruppierung (z. B. nach Status oder Fälligkeit) und Sortierung stehen am PC rechts daneben, direkt über der Liste. Die Hashtag-Filter darüber bleiben einzeilig; passen nicht alle hinein, klappt „…“ sie auf mehrere Zeilen auf.
|
||||
- **Kanban:** Spalten pro Liste frei konfigurierbar (Name, Farbe, „Erledigt“-Spalte). Farben in „Spalten anpassen“ über den Punkt vor dem Namen: Grau, Anthrazit (Textfarbe des Themes), Grün, Gelb, Blau, Rot, Lila, Akzentfarbe (`columns[].color` = `gray`/`slate`/`green`/`yellow`/`blue`/`red`/`purple`/`accent`; ältere Werte `emerald`/`amber` gelten als Grün/Gelb, Spalten ohne Farbe behalten die ihrer Rolle). Der Punkt erscheint im Spaltenkopf, vor dem Status in der Listenansicht und im Detail-Fenster ([ManageColumnsModal.tsx](../../frontend/src/features/triage/ManageColumnsModal.tsx), `columnDotClass`). Blau und Lila kommen aus `--color-info` / `--color-purple`; Themes können sie setzen, sonst gelten Standardwerte aus `index.css`. Standard: *Zu erledigen*, *In Bearbeitung*, *Wartet auf andere*, *Erledigt*. Eine Karte in eine „Erledigt“-Spalte zu ziehen setzt `isCompleted`; maßgeblich ist die als erledigt markierte Spalte der Liste, egal mit welcher ID (`isDoneColumn` beim Umsortieren). Am PC ist das Board so hoch wie das Fenster, wenn alle Spalten in eine Reihe passen; dann scrollen nur die Spalten.
|
||||
- **„Alle Aufgaben“ als Kanban:** Die Spalten aller Listen werden nach Namen zusammengeführt (Groß/Klein egal), in Reihenfolge und Farbe der ersten Liste, die eine Spalte hat; verschieden benannte Spalten bleiben getrennt. Beim Ziehen sind Spalten, die die Liste der Karte nicht hat, ausgegraut und nehmen nichts an. Status-Auswahl, Pfeile auf der Karte und Detail-Fenster nutzen immer die Spalten der eigenen Liste.
|
||||
- **Papierkorb und Aufbewahrung** ([task_trash.go](../../internal/storage/task_trash.go), [retention.go](../../internal/storage/retention.go)): Gelöschte Aufgaben, „Erledigte in den Papierkorb“ (`POST /tasks/clear-done`) und erledigte Aufgaben nach Ablauf ihrer Frist wandern in den Papierkorb der Aufgaben (Tabelle `trashed_tasks`: die ganze Zeile samt Zuweisungen als Kopie). Wer die Liste sieht, sieht ihren Papierkorb; Zurückholen und endgültig Löschen brauchen Bearbeitungsrecht. Zurückgeholt wird die Aufgabe unverändert (eine gelöschte Liste macht sie zur eigenen Aufgabe ihres Erstellers). Die Fristen stellt jede Person unter Kontoeinstellungen → Aufbewahrung ein (erledigte Aufgaben Standard 30 Tage, Papierkorb 30 Tage); in einer Liste gilt die Frist des Eigentümers. Den Zeitpunkt des Abhakens setzt ein Trigger (`thoughts.completed_at`), egal auf welchem Weg abgehakt wird; der Server räumt stündlich auf (nicht in der Demo). Ein mit einer Notiz verknüpftes Häkchen bleibt als normales Häkchen stehen.
|
||||
- **Rückgängig:** `Strg+Z`/`Cmd+Z` nimmt in der Aufgabenansicht die letzten Schritte zurück (bis 20): Löschen (aus dem Papierkorb zurück), Verschieben (Spalten, Reihenfolge) und Abhaken. Nach dem Löschen bietet ein Hinweis unten „Rückgängig“, auch am Handy. In Textfeldern gilt deren eigenes Rückgängig.
|
||||
- Drag & Drop sortiert in der Liste und zwischen Spalten; ein Klick öffnet das Detail-Fenster (Titel, Status, Priorität, Fälligkeit mit optionaler Uhrzeit und Schnellwahl, Liste, Hashtags, Unteraufgaben mit Fortschrittsbalken, Notizen).
|
||||
- „Als Notiz vertiefen“ legt aus einer Aufgabe eine Notiz an (Titel, Notizen, Unteraufgaben, Fälligkeit, Priorität als Inhalt). Die Aufgabe bleibt in ihrer Liste und wird mit dem ersten Häkchen der Notiz verknüpft (`converted_type = document_block`); ein Gedanke aus der Triage wird dagegen ganz zur Notiz. Aufgaben aus Notiz-Checkboxen (`enhanced-task`) bleiben verknüpft, „In Notiz öffnen“ springt zum Block.
|
||||
- „Als Notiz vertiefen“ legt aus einer Aufgabe eine Notiz an (Titel, darunter Fälligkeit und Priorität, dann Notizen und Unteraufgaben). Die Aufgabe bleibt in ihrer Liste und wird mit dem ersten Häkchen der Notiz verknüpft (`converted_type = document_block`); ein Gedanke aus der Triage wird dagegen ganz zur Notiz. Aufgaben aus Notiz-Checkboxen (`enhanced-task`) bleiben verknüpft, „In Notiz öffnen“ springt zum Block.
|
||||
- **Abgleich verknüpfter Aufgaben** ([task_doc_sync.go](../../internal/storage/task_doc_sync.go)): Haken und Titel gehen in beide Richtungen (Notiz → Aufgabe in `ReconcileDocTaskLinks` nach jeder Notiz-Änderung, Aufgabe → Notiz in `SyncTaskToDoc` nach jeder Aufgaben-Änderung). Unteraufgaben gehören zur Verknüpfung: Jede ist 1:1 mit einem Häkchen derselben Notiz verbunden (`subtasks[].blockId`, Badge „Unteraufgabe“, `DocumentBlock.subtaskOf`), auch wenn es verschoben oder anders eingerückt wird. Neue Unteraufgaben bekommen ein Häkchen direkt unter dem Haupt-Häkchen; neue Häkchen direkt eine Ebene darunter werden Unteraufgaben (tiefer eingerückte bleiben Notiz). Löschen wird nicht abgeglichen: Ein gelöschtes Häkchen löst nur die Verknüpfung, eine gelöschte Unteraufgabe lässt ihr Häkchen stehen. Ein Häkchen, das in eine andere Notiz wandert, bekommt dort eine neue ID und verliert damit die Verknüpfung. Die Sync-Antwort der Notiz liefert `taskLinks` und `subtaskLinks`, damit die Badges sofort stimmen.
|
||||
|
||||
## Aufgabenlisten und Freigabe
|
||||
|
||||
Reference in new issue
Block a user