mirror of
https://github.com/movie-web/movie-web.git
synced 2024-12-27 01:06:08 +00:00
commit
9bd5f30f40
|
@ -46,10 +46,14 @@ function Button(props: {
|
|||
);
|
||||
}
|
||||
|
||||
function useSeasons(mediaId: string, isLastEpisode: boolean = false) {
|
||||
function useSeasons(
|
||||
mediaId: string | undefined,
|
||||
isLastEpisode: boolean = false,
|
||||
) {
|
||||
const state = useAsync(async () => {
|
||||
if (isLastEpisode) {
|
||||
const data = await getMetaFromId(MWMediaType.SERIES, mediaId ?? "");
|
||||
if (!mediaId) return null;
|
||||
const data = await getMetaFromId(MWMediaType.SERIES, mediaId);
|
||||
if (data?.meta.type !== MWMediaType.SERIES) return null;
|
||||
return data.meta.seasons;
|
||||
}
|
||||
|
@ -60,13 +64,14 @@ function useSeasons(mediaId: string, isLastEpisode: boolean = false) {
|
|||
|
||||
function useNextSeasonEpisode(
|
||||
nextSeason: MWSeasonMeta | undefined,
|
||||
mediaId: string,
|
||||
mediaId: string | undefined,
|
||||
) {
|
||||
const state = useAsync(async () => {
|
||||
if (nextSeason) {
|
||||
if (!mediaId) return null;
|
||||
const data = await getMetaFromId(
|
||||
MWMediaType.SERIES,
|
||||
mediaId ?? "",
|
||||
mediaId,
|
||||
nextSeason?.id,
|
||||
);
|
||||
if (data?.meta.type !== MWMediaType.SERIES) return null;
|
||||
|
@ -106,18 +111,17 @@ export function NextEpisodeButton(props: {
|
|||
const enableAutoplay = usePreferencesStore((s) => s.enableAutoplay);
|
||||
|
||||
const isLastEpisode =
|
||||
meta?.episode?.number === meta?.episodes?.at(-1)?.number;
|
||||
!meta?.episode?.number || !meta?.episodes?.at(-1)?.number
|
||||
? false
|
||||
: meta.episode.number === meta.episodes.at(-1)!.number;
|
||||
|
||||
const seasons = useSeasons(meta?.tmdbId ?? "", isLastEpisode);
|
||||
const seasons = useSeasons(meta?.tmdbId, isLastEpisode);
|
||||
|
||||
const nextSeason = seasons.value?.find(
|
||||
(season) => season.number === (meta?.season?.number ?? 0) + 1,
|
||||
);
|
||||
|
||||
const nextSeasonEpisode = useNextSeasonEpisode(
|
||||
nextSeason,
|
||||
meta?.tmdbId ?? "",
|
||||
);
|
||||
const nextSeasonEpisode = useNextSeasonEpisode(nextSeason, meta?.tmdbId);
|
||||
|
||||
let show = false;
|
||||
const hasAutoplayed = useRef(false);
|
||||
|
|
Loading…
Reference in a new issue