import { useEffect, useState } from 'react' /** * Returns true when the user has requested reduced motion via OS settings. * Useful for disabling animations (WCAG 2.3.3). */ export function useReducedMotion(): boolean { const [reducedMotion, setReducedMotion] = useState(false) useEffect(() => { const mql = window.matchMedia('(prefers-reduced-motion: reduce)') setReducedMotion(mql.matches) const handler = (e: MediaQueryListEvent) => setReducedMotion(e.matches) mql.addEventListener('change', handler) return () => mql.removeEventListener('change', handler) }, []) return reducedMotion }