Hide "select" button while no items are available

This commit is contained in:
schroda
2025-05-21 00:43:03 +02:00
parent 6b812cb143
commit cafa0c3983
2 changed files with 26 additions and 20 deletions

View File

@@ -210,11 +210,13 @@ export const ChapterList = ({
unreadChapters={Chapters.getNonRead(chapters)} unreadChapters={Chapters.getNonRead(chapters)}
/> />
)} )}
<SelectableCollectionSelectAll {!!visibleChapterIds.length && (
areAllItemsSelected={areAllItemsSelected} <SelectableCollectionSelectAll
areNoItemsSelected={areNoItemsSelected} areAllItemsSelected={areAllItemsSelected}
onChange={(checked) => handleSelectAll(checked, checked ? visibleChapterIds : [])} areNoItemsSelected={areNoItemsSelected}
/> onChange={(checked) => handleSelectAll(checked, checked ? visibleChapterIds : [])}
/>
)}
</Stack> </Stack>
</ChapterListHeader> </ChapterListHeader>

View File

@@ -181,23 +181,27 @@ export function Library() {
<UpdateChecker categoryId={activeTab?.id} /> <UpdateChecker categoryId={activeTab?.id} />
</> </>
)} )}
<SelectableCollectionSelectMode {!!mangas.length && (
isActive={isSelectModeActive} <SelectableCollectionSelectMode
areAllItemsSelected={areAllItemsSelected} isActive={isSelectModeActive}
areNoItemsSelected={areNoItemsSelected} areAllItemsSelected={areAllItemsSelected}
onSelectAll={(selectAll) => handleSelectAll(selectAll, [...new Set(mangas.map((manga) => manga.id))])} areNoItemsSelected={areNoItemsSelected}
onModeChange={(checked) => { onSelectAll={(selectAll) =>
setIsSelectModeActive(checked); handleSelectAll(selectAll, [...new Set(mangas.map((manga) => manga.id))])
if (checked) {
handleSelectAll(true, [...new Set(mangas.map((manga) => manga.id))]);
} else {
tabs.forEach((tab) => handleSelectAll(false, [], tab.id.toString()));
} }
}} 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) => { const handleTabChange = (newTab: number) => {