diff --git a/components/sections/CloudRevealSection.tsx b/components/sections/CloudRevealSection.tsx index 27ad702..39435bd 100644 --- a/components/sections/CloudRevealSection.tsx +++ b/components/sections/CloudRevealSection.tsx @@ -38,6 +38,7 @@ export default function CloudRevealSection() { const currentFrameRef = useRef(0) const [loaded, setLoaded] = useState(false) const [loadProgress, setLoadProgress] = useState(0) + const hasSnapped = useRef(false) const { scrollYProgress } = useScroll({ target: sectionRef, @@ -102,11 +103,26 @@ export default function CloudRevealSection() { useMotionValueEvent(scrollYProgress, 'change', (progress) => { if (!loaded) return + + // Frame güncelle const frameIndex = Math.min(Math.floor(progress * (TOTAL_FRAMES - 1)), TOTAL_FRAMES - 1) if (frameIndex !== currentFrameRef.current) { currentFrameRef.current = frameIndex drawFrame(frameIndex) } + + // %100'de bir sonraki bölüme snap et + if (progress >= 0.99 && !hasSnapped.current) { + hasSnapped.current = true + const next = document.getElementById('proje') + if (next) { + next.scrollIntoView({ behavior: 'smooth' }) + } + } + // Geri scroll yapılırsa snap'i sıfırla + if (progress < 0.9) { + hasSnapped.current = false + } }) useEffect(() => {