diff --git a/src/components/media/Media.tsx b/src/components/media/Media.tsx index db83f09..ee0ef09 100644 --- a/src/components/media/Media.tsx +++ b/src/components/media/Media.tsx @@ -14,32 +14,41 @@ type Props = { const Media = ({ className, media }: Props) => { return (
- {(media.trailer || !!media.videos.total) && ( + {(media.trailers?.length || !!media.videos.total) && (

Videos

- {media.trailer && ( -
+ {media.trailers?.map(trailer => ( +
- )} + ))} {!!media.videos.total && media.videos.videos.map(video => ( diff --git a/src/interfaces/misc/rawName.ts b/src/interfaces/misc/rawName.ts index fe93291..c20f5d3 100644 --- a/src/interfaces/misc/rawName.ts +++ b/src/interfaces/misc/rawName.ts @@ -143,7 +143,7 @@ export default interface Name { value: string; language: string; }; - mimeType?: string; + videoMimeType?: string; url: string; }>; recommendedTimedTextTrack?: { diff --git a/src/utils/cleaners/name.ts b/src/utils/cleaners/name.ts index b973099..bdc5f24 100644 --- a/src/utils/cleaners/name.ts +++ b/src/utils/cleaners/name.ts @@ -42,18 +42,18 @@ const cleanName = (rawData: RawName) => { }, media: { ...(main.primaryVideos.edges.length && { - trailer: { - id: main.primaryVideos.edges[0].node.id, - isMature: main.primaryVideos.edges[0].node.isMature, - thumbnail: main.primaryVideos.edges[0].node.thumbnail.url, - runtime: main.primaryVideos.edges[0].node.runtime.value, - caption: main.primaryVideos.edges[0].node.description?.value ?? null, - urls: main.primaryVideos.edges[0].node.playbackURLs.map(url => ({ - resolution: url.displayName.value, - mimeType: url.mimeType ?? null, + trailers: main.primaryVideos.edges.map(trailer => ({ + id: trailer.node.id, + isMature: trailer.node.isMature, + thumbnail: trailer.node.thumbnail.url, + runtime: trailer.node.runtime.value, + caption: trailer.node.description?.value ?? null, + urls: trailer.node.playbackURLs.map(url => ({ + resolution: url.displayName.value as 'SD' | '480p', + mimeType: url.videoMimeType ?? null, url: url.url, })), - }, + })), }), images: { total: misc.images.total, diff --git a/src/utils/cleaners/title.ts b/src/utils/cleaners/title.ts index 2e95661..dba98e0 100644 --- a/src/utils/cleaners/title.ts +++ b/src/utils/cleaners/title.ts @@ -81,18 +81,18 @@ const cleanTitle = (rawData: RawTitle) => { })), media: { ...(main.primaryVideos.edges.length && { - trailer: { - id: main.primaryVideos.edges[0].node.id, - isMature: main.primaryVideos.edges[0].node.isMature, - thumbnail: main.primaryVideos.edges[0].node.thumbnail.url, - runtime: main.primaryVideos.edges[0].node.runtime.value, - caption: main.primaryVideos.edges[0].node.description?.value ?? null, - urls: main.primaryVideos.edges[0].node.playbackURLs.map(url => ({ - resolution: url.displayName.value, + trailers: main.primaryVideos.edges.map(trailer => ({ + id: trailer.node.id, + isMature: trailer.node.isMature, + thumbnail: trailer.node.thumbnail.url, + runtime: trailer.node.runtime.value, + caption: trailer.node.description?.value ?? null, + urls: trailer.node.playbackURLs.map(url => ({ + resolution: url.displayName.value as 'SD' | '480p', mimeType: url.videoMimeType ?? null, url: url.url, })), - }, + })), }), images: { total: misc.titleMainImages.total,