"use client"; import { useEffect, useRef, memo } from "react"; import { setIntervalOnVisible } from "@/utils/set-timeout-on-visible"; import data from "./hero-flame-data.json"; function HeroFlame() { const ref = useRef(null); const ref2 = useRef(null); const wrapperRef = useRef(null); useEffect(() => { let index = 0; const interval = setIntervalOnVisible({ element: wrapperRef.current, callback: () => { if (!ref.current || !ref2.current) return; index++; if (index >= data.length) index = 0; ref.current.innerHTML = data[index]; ref2.current.innerHTML = data[index]; }, interval: 85, }); return () => interval?.(); }, []); return (
); } export default memo(HeroFlame);