diff --git a/src/components/Histories.tsx b/src/components/Histories.tsx index f66ac41..e2a9861 100644 --- a/src/components/Histories.tsx +++ b/src/components/Histories.tsx @@ -54,13 +54,15 @@ const Histories = () => { const [_document, setDocument] = useState(); function handleOnLeftMove(): void { - if (offset < 0) { + if (selectedVideo > 0) { + setSelectedVideo((prev) => prev - 1); setOffset((prev) => prev + 1); } } function handleOnRightMove(): void { - if (offset > -2) { + if (selectedVideo < 2) { + setSelectedVideo((prev) => prev + 1); setOffset((prev) => prev - 1); } } @@ -91,14 +93,6 @@ const Histories = () => { } }, [_document]); - useEffect(() => { - if (offset !== 0) { - setSelectedVideo(offset * -1); - } else { - setSelectedVideo(0); - } - }, [offset]); - useEffect(() => { videoRefs.forEach((video, index) => { if (!video.current) return; @@ -136,12 +130,13 @@ const Histories = () => { }, [selectedVideo, videoRefs]); useEffect(() => { - const _offset = offset; if (100 - 3 < videoProgress) { - if (_offset === -1 * videoRefs.length - 1) { + if (offset <= -1 * videoRefs.length + 1) { setOffset(0); + setSelectedVideo(0); } else { setOffset((prev) => prev - 1); + setSelectedVideo((prev) => prev + 1); } } }, [videoProgress]); @@ -204,7 +199,7 @@ const Histories = () => {
{videos.map((video, index) => (