From cafa0c39837cb8af4fd9a62192c8314333d5da5d Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Wed, 21 May 2025 00:43:03 +0200 Subject: [PATCH] Hide "select" button while no items are available --- .../chapter/components/ChapterList.tsx | 12 ++++--- src/modules/library/screens/Library.tsx | 34 +++++++++++-------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/modules/chapter/components/ChapterList.tsx b/src/modules/chapter/components/ChapterList.tsx index 8c649abc..dd77f97a 100644 --- a/src/modules/chapter/components/ChapterList.tsx +++ b/src/modules/chapter/components/ChapterList.tsx @@ -210,11 +210,13 @@ export const ChapterList = ({ unreadChapters={Chapters.getNonRead(chapters)} /> )} - handleSelectAll(checked, checked ? visibleChapterIds : [])} - /> + {!!visibleChapterIds.length && ( + handleSelectAll(checked, checked ? visibleChapterIds : [])} + /> + )} diff --git a/src/modules/library/screens/Library.tsx b/src/modules/library/screens/Library.tsx index 958a5cdd..bb3fcfb8 100644 --- a/src/modules/library/screens/Library.tsx +++ b/src/modules/library/screens/Library.tsx @@ -181,23 +181,27 @@ export function Library() { )} - handleSelectAll(selectAll, [...new Set(mangas.map((manga) => manga.id))])} - onModeChange={(checked) => { - setIsSelectModeActive(checked); - - if (checked) { - handleSelectAll(true, [...new Set(mangas.map((manga) => manga.id))]); - } else { - tabs.forEach((tab) => handleSelectAll(false, [], tab.id.toString())); + {!!mangas.length && ( + + handleSelectAll(selectAll, [...new Set(mangas.map((manga) => manga.id))]) } - }} - /> + onModeChange={(checked) => { + setIsSelectModeActive(checked); + + if (checked) { + handleSelectAll(true, [...new Set(mangas.map((manga) => manga.id))]); + } else { + tabs.forEach((tab) => handleSelectAll(false, [], tab.id.toString())); + } + }} + /> + )} , - [isSelectModeActive, areNoItemsSelected, areAllItemsSelected, activeTab], + [isSelectModeActive, areNoItemsSelected, areAllItemsSelected, activeTab, mangas.length], ); const handleTabChange = (newTab: number) => {