John O'Keefe
96c1228805
feat(series): multi-field search, sort-direction toggle, apply placement
...
Toolbar feedback round: the series search box now matches whatever the
main search matches for a group — series NAME, any book's AUTHOR, and
any book's TITLE inside the series (WHERE EXISTS per group-row, so
counts stay true); the separate author input is gone from the toolbar
(the author= param stays live for the JSON API and deep links). The
sort control becomes a base-key select (Date added/Name/Author/Books/
Progress/Last read) plus a chevron direction toggle that flips and
resubmits; sort/dir compose through ResolveSeriesSort (full registry
keys keep working for back-compat, unknown base keys fall to recent).
The search/apply button moved next to the search box as requested, and
default URLs stay clean (sort/dir only emitted once the user chooses).
2026-10-27 19:05:23 -04:00
..
2026-10-25 20:54:09 -04:00
2026-10-25 20:54:09 -04:00
2026-10-25 11:06:08 -04:00
2026-10-13 12:24:12 -04:00
2026-10-27 13:22:41 -04:00
2026-10-27 13:22:41 -04:00
2026-10-27 13:22:54 -04:00
2026-10-27 13:22:54 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:20 -04:00
2026-10-25 18:14:44 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:20 -04:00
2026-10-25 17:22:40 -04:00
2026-10-25 18:14:44 -04:00
2026-10-25 18:14:44 -04:00
2026-10-26 13:59:37 -04:00
2026-10-26 13:59:37 -04:00
2026-10-27 15:36:43 -04:00
2026-10-27 15:36:43 -04:00
2026-10-25 20:54:09 -04:00
2026-10-25 20:54:09 -04:00
2026-05-24 21:20:24 -04:00
2026-03-27 15:52:02 -04:00
2026-10-25 17:22:40 -04:00
2026-10-25 16:58:28 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:20 -04:00
2026-10-25 11:06:08 -04:00
2026-10-19 15:43:59 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:20 -04:00
2026-10-27 10:22:13 -04:00
2026-10-27 10:22:13 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:42:50 -04:00
2026-10-26 08:17:49 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:20 -04:00
2026-10-27 15:11:49 -04:00
2026-10-27 15:11:49 -04:00
2026-10-25 18:14:44 -04:00
2026-10-25 18:14:44 -04:00
2026-10-24 14:31:36 -04:00
2026-10-25 20:54:09 -04:00
2026-10-25 20:54:09 -04:00
2026-10-25 11:06:08 -04:00
2026-08-10 13:43:13 -04:00
2026-10-25 11:06:08 -04:00
2026-10-19 18:59:36 -04:00
2026-10-25 11:06:08 -04:00
2026-08-05 16:45:02 -04:00
2026-10-27 15:11:49 -04:00
2026-10-27 15:11:49 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:07 -04:00
2026-10-25 17:22:40 -04:00
2026-10-25 16:58:28 -04:00
2026-10-27 10:22:13 -04:00
2026-10-27 10:22:13 -04:00
2026-10-25 11:06:08 -04:00
2026-10-24 19:44:34 -04:00
2026-10-26 14:58:50 -04:00
2026-10-26 13:59:32 -04:00
2026-10-26 13:59:32 -04:00
2026-10-25 11:06:08 -04:00
2026-08-05 16:45:02 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:20 -04:00
2026-10-25 20:54:09 -04:00
2026-10-25 20:54:09 -04:00
2026-10-26 13:59:37 -04:00
2026-10-26 13:59:37 -04:00
2026-10-24 19:44:34 -04:00
2026-10-24 19:44:34 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-10-27 15:11:49 -04:00
2026-10-27 15:11:49 -04:00
2026-10-27 19:05:23 -04:00
2026-10-27 19:05:23 -04:00
2026-10-03 23:54:07 -04:00
2026-10-24 19:44:34 -04:00
2026-10-24 19:44:34 -04:00
2026-10-25 11:06:08 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-25 11:06:08 -04:00
2026-05-10 16:13:21 -04:00
2026-10-27 19:05:23 -04:00
2026-10-26 14:58:50 -04:00
2026-10-26 14:58:50 -04:00
2026-10-19 18:59:36 -04:00
2026-10-27 13:22:41 -04:00