'use client'; import { motion, useScroll, useSpring } from 'framer-motion'; import { useState, useEffect } from 'react'; export default function BackToTop() { const [isVisible, setIsVisible] = useState(false); const { scrollYProgress } = useScroll(); const scaleX = useSpring(scrollYProgress, { stiffness: 100, damping: 30, restDelta: 0.001, }); useEffect(() => { const toggleVisibility = () => { if (window.pageYOffset > 300) { setIsVisible(true); } else { setIsVisible(false); } }; window.addEventListener('scroll', toggleVisibility); return () => window.removeEventListener('scroll', toggleVisibility); }, []); const scrollToTop = () => { window.scrollTo({ top: 0, behavior: 'smooth', }); }; return ( <> {/* Progress bar */} {/* Back to top button */} {isVisible && ( {/* Tooltip */} Back to top )} ); }