diff --git a/src/components/FolderView.tsx b/src/components/FolderView.tsx index 330932448..33e095041 100644 --- a/src/components/FolderView.tsx +++ b/src/components/FolderView.tsx @@ -4,6 +4,7 @@ import { ContentCard } from './ContentCard'; import { courseContent, getFilteredContent } from '@/lib/utils'; import { useRecoilValue } from 'recoil'; import { selectFilter } from '@/store/atoms/filterContent'; +import { useEffect,useRef } from 'react'; export const FolderView = ({ courseContent, @@ -14,6 +15,29 @@ export const FolderView = ({ rest: string[]; courseContent: courseContent[]; }) => { + const scrollTimeoutRef = useRef(null); + + useEffect(() => { + if (rest.length == 0) { + const savedScrollY = sessionStorage.getItem(`scrollPosition-${courseId}`); + if (savedScrollY) { + window.scrollTo(0, parseInt(savedScrollY, 10)); + console.log("scrooliing"); + } + const handleScrollY = () => { + if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current); + scrollTimeoutRef.current = setTimeout(() => { + sessionStorage.setItem(`scrollPosition-${courseId}`, window.scrollY.toString()); + }, 200); // Adjust the delay as needed + }; + + window.addEventListener("scroll", handleScrollY); + return () => { + window.removeEventListener("scroll", handleScrollY); + if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current); + }; + } + }, []); const router = useRouter(); if (!courseContent?.length) {