MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m36s
- Tasks in shared task lists can be assigned to one or more people with access (task_assignees); assignments are pruned whenever access is lost - UserAutocomplete: type-to-search everywhere, nothing before typing, max 3 results, first match preselected - Task list and list tabs: avatar stack of members and round monochrome counter - Shared list items remember who added them (list_items.created_by) - Doku/ui-patterns.md documents the shared UI patterns Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
Modul: Geteilte Listen
Einkaufs-, Pack- und Checklisten für gemeinsames Arbeiten. Code: SharedListsView.tsx; Backend: *List*-Handler in server.go, Store.CreateList und Verwandte.
Datenmodell
lists: Eigentümer,title,icon,list_type(shopping,checklist,vacation).list_items:content,category,quantity,is_completed,completed_by(_name),created_by,sort_order.list_shares: Ziel (Benutzer oder Gruppe) und Rolleeditoroderviewer.
Funktionen
- Kategorien per Hashtag:
Hafermilch #Kühlregallandet in der Kategorie „Kühlregal“. Kategorien werden alphabetisch als Abschnitte angezeigt; die Eingabe schlägt vorhandene Hashtags vor. - Menge: Feld
quantity(z. B.2x,500g). - Drag & Drop ordnet Einträge um; in eine andere Kategorie gezogen, wird der Hashtag im Text angepasst (
items/reordermitcategoryundcontent). - Abhaken speichert, wer und wann; Erledigte stehen in einem eigenen Bereich und lassen sich per „Erledigte entfernen“ löschen (
clear-completed). - Freigabe über den Dialog
UnifiedShareModal(Bearbeiten oder Nur Lesen). Ein Leser sieht Änderungen live, ändert aber nichts. - Live-Sync: Ereignisse
ITEM_*undLIST_*im Raum der Liste (websocket.md). Abhaken erscheint bei allen Beteiligten sofort. - Wer hat's hinzugefügt: In geteilten Listen zeigt jeder Eintrag ein kleines Profilbild der Person, die ihn angelegt hat (
createdBy,createdByName). Einträge von vor dieser Funktion haben keinen Autor und zeigen nichts. - Tabs zeigen offene Einträge als runden Zähler und die Personen mit Zugriff als Profilbild-Stapel (ui-patterns.md); die API liefert sie je Liste als
members. - Aus der Triage lassen sich Gedanken direkt als Eintrag in eine Liste übernehmen.