diff --git a/src/components/library/LibraryMangaGrid.tsx b/src/components/library/LibraryMangaGrid.tsx index f733f0e8..60cda260 100644 --- a/src/components/library/LibraryMangaGrid.tsx +++ b/src/components/library/LibraryMangaGrid.tsx @@ -56,11 +56,14 @@ const filterManga = ( downloaded: NullAndUndefined, ignoreFilters: boolean, ): IMangaCard[] => - mangas.filter( - (manga) => - (queryFilter(query, manga) || queryGenreFilter(query, manga)) && - (ignoreFilters || (downloadedFilter(downloaded, manga) && unreadFilter(unread, manga))), - ); + mangas.filter((manga) => { + const ignoreFiltersWhileSearching = ignoreFilters && query?.length; + const matchesSearch = queryFilter(query, manga) || queryGenreFilter(query, manga); + const matchesFilters = + ignoreFiltersWhileSearching || (downloadedFilter(downloaded, manga) && unreadFilter(unread, manga)); + + return matchesSearch && matchesFilters; + }); const sortByUnread = (a: IMangaCard, b: IMangaCard): number => // eslint-disable-next-line implicit-arrow-linebreak