refactor(Player): only display videos from same season for series

This commit is contained in:
Tim 2022-11-01 03:21:44 +01:00
parent b19896ddf3
commit 87251a649b
2 changed files with 13 additions and 2 deletions

View file

@ -581,6 +581,7 @@ const Player = ({ urlParams, queryParams }) => {
<VideosMenu
className={classnames(styles['layer'], styles['menu-layer'])}
metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}
seriesInfo={player.seriesInfo}
/>
:
null

View file

@ -6,14 +6,20 @@ const classnames = require('classnames');
const Video = require('../../MetaDetails/VideosList/Video');
const styles = require('./styles');
const VideosMenu = ({ className, metaItem }) => {
const VideosMenu = ({ className, metaItem, seriesInfo }) => {
const onMouseDown = React.useCallback((event) => {
event.nativeEvent.videosMenuClosePrevented = true;
}, []);
const videos = React.useMemo(() => {
return seriesInfo && seriesInfo.season && Array.isArray(metaItem.videos) ?
metaItem.videos.filter(({ season }) => season === seriesInfo.season)
:
metaItem.videos;
}, [metaItem, seriesInfo]);
return (
<div className={classnames(className, styles['videos-menu-container'])} onMouseDown={onMouseDown}>
{
metaItem.videos.map((video, index) => (
videos.map((video, index) => (
<Video
key={index}
id={video.id}
@ -36,6 +42,10 @@ const VideosMenu = ({ className, metaItem }) => {
VideosMenu.propTypes = {
className: PropTypes.string,
metaItem: PropTypes.object,
seriesInfo: PropTypes.objectOf({
season: PropTypes.number,
episode: PropTypes.number,
}),
};
module.exports = VideosMenu;