Support search by source id in library

This commit is contained in:
schroda
2025-01-16 13:33:16 +01:00
parent a96bc2c1da
commit 22011d4d6d

View File

@@ -61,12 +61,12 @@ const performSearch = (
return cleanedUpQueries.every((query) => cleanedUpStrings.includes(query)); return cleanedUpQueries.every((query) => cleanedUpStrings.includes(query));
}; };
type TMangaQueryFilter = Pick<MangaType, 'title' | 'genre' | 'description' | 'artist' | 'author'> & { type TMangaQueryFilter = Pick<MangaType, 'title' | 'genre' | 'description' | 'artist' | 'author' | 'sourceId'> & {
source?: NullAndUndefined<Pick<SourceType, 'displayName'>>; source?: NullAndUndefined<Pick<SourceType, 'displayName'>>;
}; };
const querySearchManga = ( const querySearchManga = (
query: NullAndUndefined<string>, query: NullAndUndefined<string>,
{ title, genre: genres, description, artist, author, source }: TMangaQueryFilter, { title, genre: genres, description, artist, author, source, sourceId }: TMangaQueryFilter,
): boolean => ): boolean =>
performSearch([query], [title]) || performSearch([query], [title]) ||
performSearch( performSearch(
@@ -76,7 +76,8 @@ const querySearchManga = (
performSearch([query], [description]) || performSearch([query], [description]) ||
performSearch([query], [artist]) || performSearch([query], [artist]) ||
performSearch([query], [author]) || performSearch([query], [author]) ||
performSearch([query], [source?.displayName]); performSearch([query], [source?.displayName]) ||
performSearch([query], [sourceId]);
type TMangaTrackerFilter = { trackRecords: { nodes: Pick<TrackRecordType, 'id' | 'trackerId'>[] } }; type TMangaTrackerFilter = { trackRecords: { nodes: Pick<TrackRecordType, 'id' | 'trackerId'>[] } };
const trackerFilter = (trackFilters: LibraryOptions['hasTrackerBinding'], manga: TMangaTrackerFilter): boolean => const trackerFilter = (trackFilters: LibraryOptions['hasTrackerBinding'], manga: TMangaTrackerFilter): boolean =>