fix(bookshelf): ensure 'select all' only targets books in the active group (#2468)

This commit is contained in:
Huang Xin
2025-11-18 19:04:32 +05:30
committed by GitHub
parent d373d7ac28
commit 93a71a0fd0
2 changed files with 6 additions and 2 deletions
@@ -271,7 +271,9 @@ const Bookshelf: React.FC<BookshelfProps> = ({
if (isSelectMode) {
setShowSelectModeActions(true);
if (isSelectAll) {
setSelectedBooks(filteredBooks.map((item) => item.hash));
setSelectedBooks(
currentBookshelfItems.map((item) => ('hash' in item ? item.hash : item.id)),
);
} else if (isSelectNone) {
setSelectedBooks([]);
}
@@ -280,7 +282,7 @@ const Bookshelf: React.FC<BookshelfProps> = ({
setShowSelectModeActions(false);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isSelectMode, isSelectAll, isSelectNone, filteredBooks]);
}, [isSelectMode, isSelectAll, isSelectNone, currentBookshelfItems]);
useEffect(() => {
eventDispatcher.on('delete-books', handleDeleteBooksIntent);
@@ -614,6 +614,8 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP
} else {
params.delete('group');
}
setIsSelectAll(false);
setIsSelectNone(false);
navigateToLibrary(router, `${params.toString()}`);
setTimeout(() => {
setCurrentGroupPath(path);