2.2 KiB
2.2 KiB
Modul: Schnellerfassung & Triage
Ziel: Gedanken in Sekunden festhalten und später in Ruhe sortieren. Code: InstantCaptureBar.tsx, TriageDeck.tsx, Backend handleCaptureInbox, handleTriageAction und Store.UpdateThoughtTriage.
Erfassung
- Die Eingabeleiste sitzt im Header;
Coder/fokussiert sie (außer beim Tippen in einem Feld). - Ziel (
target): Posteingang (inbox, Standard), Direkt-Aufgabe (task), Listeneintrag (list_item, mit Zielliste) oder Direkt-Notiz (document). - Mehrzeilige Eingabe wird unterstützt. Spracheingabe nutzt
useVoiceInput(Whisper-Server oder Spracherkennung des Browsers); Quellevoicefügt den Tag#diktatan. - Quelle
webhook(per API-Key/Webhook) fügt den Tag#webhookan. Hashtags im Text werden als Tags extrahiert (domain.ExtractTags). - Per API:
POST /inboxundPOST /webhooks/ingest(siehe rest.md).
Triage-Deck
Der Posteingang (status = inbox) wird Karte für Karte abgearbeitet.
| Aktion | Desktop | Mobil | Ergebnis |
|---|---|---|---|
| Verwerfen | H oder ← |
Wischen links | status = discarded (Papierkorb) |
| Zur Aufgabe | L oder → |
Wischen rechts | kept/converted als Aufgabe |
| Aufgabe mit Termin | T |
Aktionsmenü | wie oben, mit Fälligkeit |
| In Notiz wandeln | D |
Aktionsmenü | neues Dokument, Gedanke wird converted (document) |
| Später | Leertaste | Aktionsmenü | Karte ans Stapelende |
| Menü schließen | Esc |
– | – |
Die Umwandlung in eine Notiz übernimmt Titel, Erledigt-Status, Notizen, Unteraufgaben sowie Fälligkeit und Priorität als eingerückte Blöcke. Eine Umwandlung in einen Listeneintrag legt einen Eintrag in der gewählten Liste an und benachrichtigt deren Teilnehmer.
Zustände eines Gedankens
inbox ──keep──▶ kept ──convert──▶ converted (task | document | list_item)
│ │
└─discard─▶ discarded ──restore──▶ inbox (Papierkorb leeren: DELETE /thoughts/discarded/purge)
Ein Gedanke mit status = kept zählt bereits als Aufgabe und erscheint in der Aufgabenansicht.