fix(usediscover hook): fixing duplicate movies (#708)

fixing duplicate movies that can be returned from the tmdb api
This commit is contained in:
Gage Orsburn
2024-12-16 10:41:11 -05:00
committed by GitHub
parent e96159d3a5
commit 39dbb7f7e5

View File

@@ -10,6 +10,7 @@ export interface BaseSearchResult<T> {
}
interface BaseMedia {
id: number;
mediaType: string;
mediaInfo?: {
status: MediaStatus;
@@ -82,6 +83,8 @@ const useDiscover = <
}
);
const resultIds: Set<number> = new Set<number>();
const isLoadingInitialData = !data && !error;
const isLoadingMore =
isLoadingInitialData ||
@@ -94,7 +97,18 @@ const useDiscover = <
setSize(size + 1);
};
let titles = (data ?? []).reduce((a, v) => [...a, ...v.results], [] as T[]);
let titles = (data ?? []).reduce((a, v) => {
const results: T[] = [];
for (const result of v.results) {
if (!resultIds.has(result.id)) {
resultIds.add(result.id);
results.push(result);
}
}
return [...a, ...results];
}, [] as T[]);
if (settings.currentSettings.hideAvailable && hideAvailable) {
titles = titles.filter(