Kiro Agent
f15365d03c
feat(shelf): 在读 / 想读 / 已读 and 分组 (prototypes 2 and 19)
...
Server: user_books gains reading_status. The shelf list computes each
book's readingState — an explicit 在读/已读 mark wins, otherwise progress
decides (>=99% 已读, started 在读), and 想读 gives way once reading starts —
filters by ?status=, and PUT /api/v1/books/:id/reading-status sets or
clears the mark.
Client: chips 全部/在读/想读/已读 and 分组 (a series or a tag from the
shelf's facets) above the toolbar, all kept in the URL; a state label on
each cover; the ⋯ menu marks 想读/在读/已读, clears the mark, or takes the
book off the shelf.
Docs: API, UI and media user guide for this and the other V3.1 gaps.
2026-10-20 04:47:06 +00:00
..
2026-09-23 12:42:14 +08:00
2026-09-20 17:51:12 +08:00
2026-10-05 13:23:27 +08:00
2026-09-20 18:40:09 +08:00
2026-09-27 18:22:51 +08:00
2026-09-24 16:03:35 +08:00
2026-09-20 17:51:12 +08:00
2026-09-28 13:39:47 +08:00
2026-09-20 18:40:09 +08:00
2026-09-24 07:47:32 +08:00
2026-09-24 07:47:32 +08:00
2026-09-24 07:47:32 +08:00
2026-09-16 14:07:25 +08:00
2026-09-20 17:51:12 +08:00
2026-09-16 14:31:15 +08:00
2026-09-24 07:47:32 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-28 17:53:30 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-10-20 04:41:03 +00:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-28 17:24:04 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-28 13:39:47 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-28 13:39:47 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-29 15:35:07 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-28 10:58:02 +08:00
2026-10-01 13:30:28 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-27 18:22:51 +08:00
2026-09-24 07:47:32 +08:00
2026-09-20 17:51:12 +08:00
2026-10-02 23:30:08 +08:00
2026-09-23 12:42:14 +08:00
2026-09-23 12:42:14 +08:00
2026-09-24 07:47:32 +08:00
2026-09-20 23:59:12 +08:00
2026-09-24 11:48:42 +08:00
2026-10-20 04:47:06 +00:00
2026-09-24 11:48:42 +08:00
2026-09-24 16:03:35 +08:00
2026-09-18 23:39:55 +08:00
2026-09-28 12:38:54 +08:00
2026-09-21 15:25:28 +08:00
2026-09-24 17:19:48 +08:00
2026-09-24 06:34:21 +08:00
2026-09-24 07:47:32 +08:00