diff --git a/lib/getLogo.js b/lib/getLogo.js index c019e7c..ab93f6e 100644 --- a/lib/getLogo.js +++ b/lib/getLogo.js @@ -19,47 +19,46 @@ function pickLogo(resp, language, original_language) { } } -async function getLogo(tmdbId, language, original_language) { - if (!tmdbId) return Promise.reject(Error(`TMDB ID Not available for Fanart: ${tmdbId}`)); +async function getLogo(tmdbId, language, originalLanguage) { + if (!tmdbId) { + throw new Error(`TMDB ID not available for logo: ${tmdbId}`); + } const fanartLogo = await fanart .getMovieImages(tmdbId) - .then((res) => { - const resp = res.hdmovielogo; - if (resp !== undefined) { - const { url } = pickLogo(resp, language, original_language); - return url; - } else { - return ''; + .then((response) => { + const logos = response.hdmovielogo; + if (logos) { + const logo = pickLogo(logos, language, originalLanguage); + return logo.url; } - }) - .catch((err) => { - console.error("Error fetching logo from Fanart.tv:", err); return ''; - }); + }) + .catch(() => undefined); if (fanartLogo) { return fanartLogo; - } else { - const tmdbLogo = await moviedb.movieImages({ id: tmdbId }) - .then((res) => { - if (res.logos && res.logos.length > 0) { - const logo = res.logos.find( - (logo) => logo.iso_639_1 === language.split("-")[0] - ) || res.logos.find((logo) => logo.iso_639_1 === original_language) || res.logos.find((logo) => logo.iso_639_1 === "en"); - - const logoUrl = logo ? `https://image.tmdb.org/t/p/original${logo.file_path}` : ''; - return logoUrl; - } - return ''; - }) - .catch((err) => { - console.error("Error fetching logo from TMDB:", err); - return ''; - }); - - return tmdbLogo; } + + const tmdbLogo = await moviedb + .movieImages({ id: tmdbId }) + .then((response) => { + const logos = response.logos; + if (logos && logos.length > 0) { + const logo = logos.find( + (logo) => + logo.iso_639_1 === language.split('-')[0] || + logo.iso_639_1 === originalLanguage || + logo.iso_639_1 === 'en' + ); + + return logo ? `https://image.tmdb.org/t/p/original${logo.file_path}` : ''; + } + return ''; + }) + .catch(() => ''); + + return tmdbLogo; } async function getTvLogo(tvdb_id, tmdbId, language, original_language) {