fix trakt if it doesnt return valid ids

This commit is contained in:
Pas 2025-06-24 11:39:24 -06:00
parent 9cc6dcb884
commit 7b4a013fae

View file

@ -350,17 +350,32 @@ export function useDiscoverMedia({
// Fetch details for each TMDB ID // Fetch details for each TMDB ID
const mediaPromises = tmdbIds.map(async (tmdbId: number) => { const mediaPromises = tmdbIds.map(async (tmdbId: number) => {
const endpoint = `/${mediaType}/${tmdbId}`; const endpoint = `/${mediaType}/${tmdbId}`;
const data = await get<any>(endpoint, { try {
api_key: conf().TMDB_READ_API_KEY, const data = await get<any>(endpoint, {
language: formattedLanguage, api_key: conf().TMDB_READ_API_KEY,
}); language: formattedLanguage,
return { });
...data, return {
type: mediaType === "movie" ? "movie" : "show", ...data,
}; type: mediaType === "movie" ? "movie" : "show",
};
} catch (err) {
console.error(`Error fetching details for TMDB ID ${tmdbId}:`, err);
return null; // Return null for failed items
}
}); });
const results = await Promise.all(mediaPromises); // Use Promise.allSettled to handle failed requests gracefully
const settledResults = await Promise.allSettled(mediaPromises);
// Filter out failed requests and nulls
const results = settledResults
.filter(
(result): result is PromiseFulfilledResult<any> =>
result.status === "fulfilled" && result.value !== null,
)
.map((result) => result.value);
return { return {
results, results,
hasMore: hasMoreResults, hasMore: hasMoreResults,