Add inline title/description editing and list delete to the list view

ListView: the title and description are now inline-editable fields saved on
blur via PATCH /api/lists/:id; an empty description shows an "Add a
description" placeholder. A "Manage" menu in the top right (click-outside and
Esc to close) holds a "Delete list" action that opens a confirmation modal;
confirming calls DELETE and routes back to the all-lists view. No backend
change — the existing PATCH/DELETE endpoints cover it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-03 19:10:31 +01:00
co-authored by Claude Sonnet 5
parent 8d0e0165bb
commit 3bf70504cc
3 changed files with 367 additions and 9 deletions
+10 -4
View File
@@ -47,10 +47,16 @@ src/views/ HomeView (lists), ListView (items), LoginView, RegisterV
## List detail
`/lists/:id` shows one list's items. Each row is a checkbox, an inline-editable
text field (saved on blur), a delete button, and a drag handle. Reordering uses
`vuedraggable`; on drop the whole new order is persisted via
`PUT /api/lists/:id/items/order`, and the server response replaces local state.
`/lists/:id` shows one list. The title and description are inline-editable
(saved on blur via `PATCH /api/lists/:id`; the description shows an "Add a
description" placeholder when empty). A **Manage** menu (top right) has a
**Delete list** action that opens a confirmation modal; confirming calls
`DELETE /api/lists/:id` and returns to the all-lists view.
Each item row is a checkbox, an inline-editable text field (saved on blur), a
delete button, and a drag handle. Reordering uses `vuedraggable`; on drop the
whole new order is persisted via `PUT /api/lists/:id/items/order`, and the
server response replaces local state.
## Auth flow