mirror of
https://github.com/movie-web/movie-web.git
synced 2024-11-11 02:45:09 +01:00
default to season 1, with specials still playable
This commit is contained in:
parent
1c17ef679d
commit
f5f69ca7d4
@ -96,24 +96,22 @@ export async function getMetaFromId(
|
||||
|
||||
if (type === MWMediaType.SERIES) {
|
||||
const seasons = (details as TMDBShowData).seasons;
|
||||
const season =
|
||||
seasons?.find((v) => v.id.toString() === seasonId) ?? seasons?.[0];
|
||||
|
||||
const episodes = await getEpisodes(
|
||||
details.id.toString(),
|
||||
season.season_number === null || season.season_number === 0
|
||||
? 1
|
||||
: season.season_number
|
||||
);
|
||||
let selectedSeason = seasons.find((v) => v.id.toString() === seasonId);
|
||||
if (!selectedSeason) {
|
||||
selectedSeason = seasons.find((v) => v.season_number === 1);
|
||||
}
|
||||
|
||||
if (selectedSeason) {
|
||||
const episodes = await getEpisodes(
|
||||
details.id.toString(),
|
||||
selectedSeason.season_number
|
||||
);
|
||||
|
||||
if (season && episodes) {
|
||||
seasonData = {
|
||||
id: season.id.toString(),
|
||||
season_number:
|
||||
season.season_number === null || season.season_number === 0
|
||||
? 1
|
||||
: season.season_number,
|
||||
title: season.name,
|
||||
id: selectedSeason.id.toString(),
|
||||
season_number: selectedSeason.season_number,
|
||||
title: selectedSeason.name,
|
||||
episodes,
|
||||
};
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ export interface MediaCardProps {
|
||||
linkable?: boolean;
|
||||
series?: {
|
||||
episode: number;
|
||||
season: number;
|
||||
season?: number;
|
||||
episodeId: string;
|
||||
seasonId: string;
|
||||
};
|
||||
@ -72,7 +72,7 @@ function MediaCardContent({
|
||||
].join(" ")}
|
||||
>
|
||||
{t("seasons.seasonAndEpisode", {
|
||||
season: series.season,
|
||||
season: series.season || 1,
|
||||
episode: series.episode,
|
||||
})}
|
||||
</p>
|
||||
@ -134,10 +134,15 @@ export function MediaCard(props: MediaCardProps) {
|
||||
let link = canLink
|
||||
? `/media/${encodeURIComponent(TMDBMediaToId(props.media))}`
|
||||
: "#";
|
||||
if (canLink && props.series)
|
||||
link += `/${encodeURIComponent(props.series.seasonId)}/${encodeURIComponent(
|
||||
props.series.episodeId
|
||||
)}`;
|
||||
if (canLink && props.series) {
|
||||
if (props.series.season === 0 && !props.series.episodeId) {
|
||||
link += `/${encodeURIComponent(props.series.seasonId)}`;
|
||||
} else {
|
||||
link += `/${encodeURIComponent(
|
||||
props.series.seasonId
|
||||
)}/${encodeURIComponent(props.series.episodeId)}`;
|
||||
}
|
||||
}
|
||||
|
||||
if (!props.linkable) return <span>{content}</span>;
|
||||
return (
|
||||
|
Loading…
Reference in New Issue
Block a user