fix(title): fix title route crash

was due to non-existance of genres on "more like this" for some titles

closes https://github.com/zyachel/libremdb/issues/61
This commit is contained in:
zyachel 2023-12-07 23:38:18 +05:30
parent 246f1155d5
commit a5b7d52783
5 changed files with 7 additions and 7 deletions

View File

@ -32,7 +32,7 @@ const Media = ({ className, media }: Props) => {
{media.trailer.urls.map(source => ( {media.trailer.urls.map(source => (
<source <source
key={source.url} key={source.url}
type={source.mimeType} type={source.mimeType ?? undefined}
src={getProxiedIMDbImgUrl(source.url)} src={getProxiedIMDbImgUrl(source.url)}
data-res={source.resolution} data-res={source.resolution}
/> />

View File

@ -143,7 +143,7 @@ export default interface Name {
value: string; value: string;
language: string; language: string;
}; };
mimeType: string; mimeType?: string;
url: string; url: string;
}>; }>;
recommendedTimedTextTrack?: { recommendedTimedTextTrack?: {

View File

@ -138,7 +138,7 @@ export default interface RawTitle {
value: string; value: string;
language: string; language: string;
}; };
mimeType: string; mimeType?: string;
url: string; url: string;
}>; }>;
previewURLs: Array<{ previewURLs: Array<{
@ -516,7 +516,7 @@ export default interface RawTitle {
canRate: { canRate: {
isRatable: boolean; isRatable: boolean;
}; };
titleGenres: { titleGenres?: {
genres: Array<{ genres: Array<{
genre: { genre: {
text: string; text: string;

View File

@ -50,7 +50,7 @@ const cleanName = (rawData: RawName) => {
caption: main.primaryVideos.edges[0].node.description?.value ?? null, caption: main.primaryVideos.edges[0].node.description?.value ?? null,
urls: main.primaryVideos.edges[0].node.playbackURLs.map(url => ({ urls: main.primaryVideos.edges[0].node.playbackURLs.map(url => ({
resolution: url.displayName.value, resolution: url.displayName.value,
mimeType: url.mimeType, mimeType: url.mimeType ?? null,
url: url.url, url: url.url,
})), })),
}, },

View File

@ -84,7 +84,7 @@ const cleanTitle = (rawData: RawTitle) => {
caption: main.primaryVideos.edges[0].node.description?.value ?? null, caption: main.primaryVideos.edges[0].node.description?.value ?? null,
urls: main.primaryVideos.edges[0].node.playbackURLs.map(url => ({ urls: main.primaryVideos.edges[0].node.playbackURLs.map(url => ({
resolution: url.displayName.value, resolution: url.displayName.value,
mimeType: url.mimeType, mimeType: url.mimeType ?? null,
url: url.url, url: url.url,
})), })),
}, },
@ -351,7 +351,7 @@ const cleanTitle = (rawData: RawTitle) => {
avg: title.node.ratingsSummary.aggregateRating || null, avg: title.node.ratingsSummary.aggregateRating || null,
numVotes: title.node.ratingsSummary.voteCount, numVotes: title.node.ratingsSummary.voteCount,
}, },
genres: title.node.titleGenres.genres.map(genre => genre.genre.text), genres: title.node.titleGenres?.genres.map(genre => genre.genre.text) ?? null,
})), })),
}; };