'use client'; import { useState, useEffect, useRef } from 'react'; import { ChevronUp } from 'lucide-react'; export default function BackToTop() { const [isVisible, setIsVisible] = useState(false); const barRef = useRef(null); useEffect(() => { const onScroll = () => { setIsVisible(window.scrollY > 300); if (barRef.current) { const el = document.documentElement; const scrolled = el.scrollTop / (el.scrollHeight - el.clientHeight); barRef.current.style.transform = `scaleX(${scrolled})`; } }; window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, []); return ( <> {/* Scroll progress bar */}
{/* Back to top button */} {isVisible && ( )} ); }