add filter and badge for downloadCount (#62)
* Added the Download filter and download badge * Update src/components/library/LibraryMangaGrid.tsx Co-authored-by: Sascha Hahne <ntbm@users.noreply.github.com> * - corrected some spelling mistakes Co-authored-by: Sascha Hahne <ntbm@users.noreply.github.com>
This commit is contained in:
@@ -23,15 +23,29 @@ function unreadFilter(unread: NullAndUndefined<boolean>, { unreadCount }: IManga
|
||||
}
|
||||
}
|
||||
|
||||
function downloadedFilter(downloaded: NullAndUndefined<boolean>,
|
||||
{ downloadCount }: IMangaCard): boolean {
|
||||
switch (downloaded) {
|
||||
case true:
|
||||
return !!downloadCount && downloadCount >= 1;
|
||||
case false:
|
||||
return downloadCount === 0;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function queryFilter(query: NullAndUndefined<string>, { title }: IMangaCard): boolean {
|
||||
if (!query) return true;
|
||||
return title.toLowerCase().includes(query.toLowerCase());
|
||||
}
|
||||
|
||||
function filterManga(mangas: IMangaCard[]): IMangaCard[] {
|
||||
const { unread, query } = useLibraryOptions();
|
||||
const { downloaded, unread, query } = useLibraryOptions();
|
||||
return mangas
|
||||
.filter((manga) => unreadFilter(unread, manga) && queryFilter(query, manga));
|
||||
.filter((manga) => downloadedFilter(downloaded, manga)
|
||||
&& unreadFilter(unread, manga)
|
||||
&& queryFilter(query, manga));
|
||||
}
|
||||
|
||||
export default function LibraryMangaGrid(props: IMangaGridProps) {
|
||||
|
||||
Reference in New Issue
Block a user