'use client'; import { useEffect, useState } from 'react'; export default function ReadingProgress() { const [progress, setProgress] = useState(0); useEffect(() => { const calc = () => { const doc = document.documentElement; const total = doc.scrollHeight - doc.clientHeight; const scrolled = window.scrollY; setProgress(total > 0 ? Math.min(100, (scrolled / total) * 100) : 0); }; calc(); window.addEventListener('scroll', calc, { passive: true }); window.addEventListener('resize', calc); return () => { window.removeEventListener('scroll', calc); window.removeEventListener('resize', calc); }; }, []); return (