"use client"; import { useEffect, useId, useState } from "react"; interface ScrollVelocityTextProps { text: string; direction: "left" | "right"; className?: string; } const GROUPS = [0, 1] as const; export default function ScrollVelocityText({ text, direction, className = "", }: ScrollVelocityTextProps) { const trackId = useId(); const [isPaused, setIsPaused] = useState(false); const [shouldReduceMotion, setShouldReduceMotion] = useState(false); useEffect(() => { const media = window.matchMedia("(prefers-reduced-motion: reduce)"); setShouldReduceMotion(media.matches); const updatePreference = (event: MediaQueryListEvent) => { setShouldReduceMotion(event.matches); }; media.addEventListener("change", updatePreference); return () => media.removeEventListener("change", updatePreference); }, []); const animationPaused = shouldReduceMotion || isPaused; return (