From 41b49c43ace09cac213d51ddad633f745c312e27 Mon Sep 17 00:00:00 2001 From: zojgame Date: Tue, 26 Mar 2024 16:56:30 +0500 Subject: [PATCH] histories slider after 100% video swipe --- src/components/Histories.tsx | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) 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) => (