Skip to content

Commit

Permalink
feat(series): inline player and query init fix
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonLantukh committed May 31, 2023
1 parent 6c7523f commit e248131
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/hooks/series/useNextEpisode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const useNextEpisode = ({

return item;
},
{ staleTime: SERIES_CACHE_TIME, cacheTime: SERIES_CACHE_TIME },
{ staleTime: SERIES_CACHE_TIME, cacheTime: SERIES_CACHE_TIME, enabled: !!(series?.series_id && episodeId && episodeMetadata) },
);

return {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ const MediaSeries: ScreenComponent<PlaylistItem> = ({ data: seriesMedia }) => {
[seriesMedia, series, episodes],
);
const episodesInSeason = getEpisodesInSeason(episodeMetadata, series);
const { data: nextItem } = useNextEpisode({ series, episodeMetadata, episodeId });
const { data: nextItem } = useNextEpisode({ series, episodeMetadata, episodeId: episode?.mediaid || firstEpisode?.mediaid });

// Watch history
const watchHistoryArray = useWatchHistoryStore((state) => state.watchHistory);
Expand Down Expand Up @@ -122,6 +122,12 @@ const MediaSeries: ScreenComponent<PlaylistItem> = ({ data: seriesMedia }) => {
setSearchParams({ ...searchParams, e: (nextItem || episode)?.mediaid, r: feedId || '', play: nextItem ? '1' : '0' });
}, [setSearchParams, nextItem, episode, feedId, searchParams]);

const handleInlinePlay = useCallback(async () => {
if (!episode) {
setSearchParams({ ...searchParams, e: firstEpisode?.mediaid, r: feedId || '', play: '1' });
}
}, [setSearchParams, firstEpisode, feedId, episode, searchParams]);

// Effects
useEffect(() => {
(document.scrollingElement || document.body).scroll({ top: 0 });
Expand Down Expand Up @@ -262,6 +268,7 @@ const MediaSeries: ScreenComponent<PlaylistItem> = ({ data: seriesMedia }) => {
item={episode || firstEpisode}
onComplete={handleComplete}
feedId={feedId ?? undefined}
onPlay={handleInlinePlay}
startWatchingButton={startWatchingButton}
paywall={isLocked(accessModel, isLoggedIn, hasSubscription, episode || firstEpisode)}
autostart={play || undefined}
Expand Down

0 comments on commit e248131

Please sign in to comment.