Skip to content

Bulk set category for selected books on system detail #222

Description

@Valenth

What problem does this solve?

On a system detail page (/library/system/:id), bulk mode already lets admins apply tags to every selected book in one action.

Changing category for many books still requires opening Bulk Edit and setting Category on each book in the carousel — slow when reorganizing a large import (e.g. moving 20 PDFs from core to adventure).

Category can already be edited one-by-one in the bulk-edit carousel (BulkEditModal, book fields include category), and the single-book editor has a proper category combobox (#191). What’s missing is a true mass apply for category, analogous to bulk tags.

What would you like to see?

On the system detail bulk action bar (and ideally anywhere books are bulk-selected), add a way to set the same category on all selected books at once:

  1. Preferred UX — next to “Add tags”, a category combobox + “Set category” button that PATCHes { category } on every selected book (reuse CATEGORY_ORDER / existing system categories / free-text + slugify, same as BookEditor).
  2. Alternative / also useful — in BulkEditModal, an “Apply this category to all selected” control so a value entered once propagates to every draft before Save all.
    After save, books should regroup under the new category section in the UI without a full page reload (same local-state patch pattern as applyBulkTags / applyBookEdits).
    Optional note: this only updates the DB category field (current PATCH behavior). Moving files on disk to match remains Enhancement: Reorganize folder structure to match in-app categorization #53.

Have you found any workarounds?

Yes — Bulk Edit → set Category per book in the carousel, or edit books one by one. For large selections this is tedious.

Anything else?

Related but distinct:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions