diff --git a/src/routes/Player/SideDrawer/SideDrawer.tsx b/src/routes/Player/SideDrawer/SideDrawer.tsx index 05ed63677..e2353c221 100644 --- a/src/routes/Player/SideDrawer/SideDrawer.tsx +++ b/src/routes/Player/SideDrawer/SideDrawer.tsx @@ -1,6 +1,6 @@ // Copyright (C) 2017-2024 Smart code 203358507 -import React, { useMemo, useCallback, useState, forwardRef, memo } from 'react'; +import React, { useMemo, useCallback, useState, useRef, forwardRef, memo } from 'react'; import classNames from 'classnames'; import Icon from '@stremio/stremio-icons/react'; import { useCore } from 'stremio/core'; @@ -22,6 +22,7 @@ const SideDrawer = memo(forwardRef(({ seriesInfo, classNa const core = useCore(); const [season, setSeason] = useState(seriesInfo?.season); const [selectedVideoId, setSelectedVideoId] = useState(null); + const videosRef = useRef(null); const metaItem = useMemo(() => { return seriesInfo ? @@ -47,8 +48,9 @@ const SideDrawer = memo(forwardRef(({ seriesInfo, classNa .sort((a, b) => (a || Number.MAX_SAFE_INTEGER) - (b || Number.MAX_SAFE_INTEGER)); }, [props.metaItem.videos]); - const seasonOnSelect = useCallback((event: { value: string }) => { - setSeason(parseInt(event.value)); + const seasonOnSelect = useCallback((event: { value: string | number }) => { + setSeason(parseInt(String(event.value), 10)); + videosRef.current?.scrollTo({ top: 0, left: 0 }); }, []); const seasonWatched = React.useMemo(() => { @@ -109,7 +111,7 @@ const SideDrawer = memo(forwardRef(({ seriesInfo, classNa seasons={seasons} onSelect={seasonOnSelect} /> -
+
{videos.map((video, index) => (