Skip to content

feat(collection): bulk-add missing books on author and series pages + clickable 'ready to add' pill#725

Draft
kevinheneveld wants to merge 2 commits into
Listenarrs:canaryfrom
kevinheneveld:feat/collection-bulk-add
Draft

feat(collection): bulk-add missing books on author and series pages + clickable 'ready to add' pill#725
kevinheneveld wants to merge 2 commits into
Listenarrs:canaryfrom
kevinheneveld:feat/collection-bulk-add

Conversation

@kevinheneveld

Copy link
Copy Markdown
Contributor

What

Author and series pages list the catalog books you don't have yet ("ready to add"), but adding them meant one-at-a-time clicks. This adds:

  • An "Add missing (N)" toolbar button on author and series pages, plus a clickable "ready to add" pill (keyboard-accessible), both opening—
  • AddSelectedBooksModal: pick which of the missing books to add (select-all default), choose monitored/auto-search/quality-profile/root-folder once, and add them as a batch with per-book progress and a failure summary. Uses the existing addToLibrary endpoint per book — no backend changes.

Tests

Frontend-only; 3-case vitest spec for the modal; vue-tsc + eslint + prettier clean, full vitest suite passing.

🤖 Generated with Claude Code

kevinheneveld and others added 2 commits July 2, 2026 09:55
… clickable 'ready to add' pill

Collection pages listed catalog books not yet in the library but offered
only one-by-one adds. Add an "Add missing (N)" button to both the author
and series toolbars, opening a bulk-add modal (AddSelectedBooksModal)
with per-book checkboxes, shared monitored/quality/auto-search/root-
folder options, per-book progress, and benign-skip handling for 409
already-in-library conflicts. On series pages the modal can also
monitor the series afterwards. The "N ready to add" pill on both page
types is now a clickable, keyboard-accessible shortcut into the same
flow.

Ports kevin/live 0d4376f (series bulk-add + modal) and 66f6c01
(author toolbar + clickable pills) together: canary had neither, and
the author-page half rides on the modal the series half introduces.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two @keydown modifiers on one element compile to a duplicate onKeydown
key in the render props object, which the pinned vue-tsc 3.x rejects
(TS1117) — caught by the Docker build's type-check; newer local
toolchains tolerate it silently.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant