'use client' import { useEffect, useState } from 'react' export function ReadingProgress() { const [progress, setProgress] = useState(0) useEffect(() => { const updateProgress = () => { const scrollTop = window.scrollY const docHeight = document.documentElement.scrollHeight - window.innerHeight const scrollPercent = (scrollTop / docHeight) * 100 setProgress(Math.min(scrollPercent, 100)) } window.addEventListener('scroll', updateProgress, { passive: true }) updateProgress() return () => window.removeEventListener('scroll', updateProgress) }, []) return ( <>
0 ? '0 0 8px var(--neon-cyan)' : 'none', }} />
[{Math.round(progress)}%]
) }