Commit Graph

76 Commits

Author SHA1 Message Date
neon bc90fc0eda feat: swap genre pills and file path order on book detail page 2026-02-22 12:18:47 -06:00
neon 5018e910bb fix(metadata): improve Amazon genre extraction and diff panel UX 2026-02-22 11:42:29 -06:00
neon d625a9df60 feat: polish book edit form layout and fix isDirty reactivity 2026-02-20 14:21:18 -06:00
neon cbab45aff4 feat: pgvector ANN + rescore recommendation engine with admin rebuild UI 2026-02-20 00:16:43 -06:00
neon 3eff3616fc feat(books): rename tags to genres and add user tags 2026-02-19 05:08:21 -06:00
neon 1c97403379 feat: wire provider IDs full stack and polish metadata search UI
- Add providerIds (google/goodreads/amazon/hardcover/openLibrary) to BookDetail type, DTO, service save/load
- Expose provider ID fields in edit metadata form with editable inputs
- Auto-save provider ID on metadata apply from search drawer
- Polished metadata search: skeleton loaders, provider-colored pills/badges, result cards, diff panel
- Fix: provider ID only injected in patch when user has selected fields
2026-02-19 03:37:14 -06:00
neon d4850dc6d7 feat(metadata): add search drawer with Google Books and Goodreads 2026-02-19 02:03:33 -06:00
neon 1dd6381325 feat(metadata): introduce provider architecture for book metadata 2026-02-19 01:55:40 -06:00
neon 3ff1cd5882 feat(client): add glass sidebar/header and surface brightness control 2026-02-17 13:05:37 -06:00
neon c7f488e88f feat(books): separate edit metadata and files into dedicated pages 2026-02-17 11:07:04 -06:00
neon 6865b07c79 fix: prevent filter rule from disappearing when value is fully erased 2026-02-15 23:24:11 -06:00
neon 6be97680a6 feat(books): add status, rating, progress, and ISBN filter fields 2026-02-15 01:31:54 -06:00
neon 5b84fc9e19 chore: bump dependencies 2026-02-14 04:37:08 -06:00
neon 964115655b feat(library): apply format settings during scan and add creator 2026-02-12 12:24:39 -06:00
neon 55c104f173 fix: resolve all ESLint errors across server and client 2026-02-10 23:06:44 -06:00
neon 6de870a0b5 feat(kobo): add Kobo device sync with kepubify and collection support 2026-02-10 05:46:34 -06:00
neon d44d68cd12 feat(opds): implement OPDS catalog with cover token auth 2026-02-08 22:57:09 -06:00
neon e232c44d88 docs: add developer onboarding guide and replace boilerplate READMEs 2026-02-07 10:28:00 -06:00
neon 448c6b05bb feat: implement bulk book delete with inline confirmation 2026-02-06 18:07:22 -06:00
neon 00a333d4f1 feat(client): add horizon background and remove legacy patterns 2026-02-06 00:19:40 -06:00
neon 68a51e52c0 feat(client): add background picker to appearance popover 2026-02-05 19:25:55 -06:00
neon 1c3c8139c9 fix(books): fix rating persistence and overhaul BookListRow UX 2026-02-05 18:11:01 -06:00
neon d0b54beb95 feat(books): add year, progress, rating, and fields to book list row 2026-02-05 15:39:35 -06:00
neon 068359727d feat(books): highlight primary format and add inline open in list row 2026-02-05 13:51:19 -06:00
neon a8191d9cf6 fix(books): prevent filter builder rows disappearing in lens dialog 2026-02-03 15:33:29 -06:00
neon 734df9a83d feat: add collections - icon support, edit dialog, full CRUD 2026-02-03 14:39:52 -06:00
neon aec4af18a5 chore(client): remove placeholder Scanner settings and Browse section 2026-02-03 11:13:10 -06:00
neon 676ca4c1a7 feat(collections): add full CRUD with multi-collection assignment 2026-02-01 20:25:16 -06:00
neon 33208254d9 feat: show book counts per library and lens in sidebar 2026-02-01 15:17:09 -06:00
neon 738b9b6146 feat: persist sort preference per library to localStorage 2026-01-31 12:10:01 -06:00
neon b2ea1cca8b feat(books): save library filters to localStorage and guard filter rules 2026-01-31 00:48:05 -06:00
neon 32410b340c feat(scanner): detect moved books via inode matching and propagate 2026-01-30 05:05:47 -06:00
neon 325d0f6f0f fix: preserve book file rows on delete so restored files keep their IDs 2026-01-28 12:47:51 -06:00
neon 426bc5fc82 feat(scanner): detect missing books via watcher and propagate to UI 2026-01-28 07:58:26 -06:00
neon 14ebb843bd feat(cover): replace client-side cache busting with backend ETag headers 2026-01-26 23:09:28 -06:00
neon e46c5e06c0 fix(scanner): wipe covers in scan-test to prevent stale cover data 2026-01-26 21:54:11 -06:00
neon 1eedc9b255 fix(books): filter non-readable formats from book card open menu 2026-01-26 16:38:30 -06:00
neon a00c5a54dd feat(books): add book detail page with tabs and keep-alive grid scroll 2026-01-26 15:33:18 -06:00
neon ee05c50b72 feat(cover): fix EPUB cover extraction for namespace-prefixed OPF 2026-01-25 04:45:28 -06:00
neon 0cbcfe7932 fix(library): cascade delete folder FKs and use diff-based updates 2026-01-25 01:02:28 -06:00
neon 71505ad05d feat(client): expand accent palette to 15 vivid and 15 pastel colors 2026-01-24 23:45:37 -06:00
neon 4effca0813 feat(books): add quick view panel and proportional cover card overlay 2026-01-24 15:08:33 -06:00
neon 1562f730d2 feat(books): improve list view with series badges and click navigation 2026-01-23 08:19:26 -06:00
neon 0f1bc55b24 refactor: split AppHeader into global nav and per-view ViewHeader 2026-01-21 19:20:01 -06:00
neon bc1ee837bf feat(books): add lens with query engine, filter builder, and icon picker 2026-01-21 18:07:07 -06:00
neon 5e1c211067 fix(client): make display settings refs singletons for live updates 2026-01-21 15:36:39 -06:00
neon 73d66b75e3 feat(scanner): add live scan progress via WebSocket and auto-scan 2026-01-19 16:48:11 -06:00
neon 2033a3d719 feat(library): add deletion with cover cleanup and shared state sync 2026-01-16 02:43:59 -06:00
neon 244d38afe8 feat(reader): add settings system with per-book delta and defaults 2026-01-16 02:00:38 -06:00
neon 86ff97bc82 feat(client): add responsive header with global search and filter bar 2026-01-15 05:38:45 -06:00