mirror of
https://github.com/p-stream/p-stream.git
synced 2026-04-21 06:32:18 +00:00
fix trakt if it doesnt return valid ids
This commit is contained in:
parent
9cc6dcb884
commit
7b4a013fae
1 changed files with 24 additions and 9 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue