"use client"; import React, { useEffect } from "react"; import { useAnimate, stagger } from "motion/react"; import { cn } from "@/lib/utils"; export const TextGenerateEffect = ({ children, className, filter = true, duration = 0.5 }) => { const [scope, animate] = useAnimate(); useEffect(() => { animate("span", { opacity: 1, filter: filter ? "blur(0px)" : "none", }, { duration: duration, delay: stagger(0.2), }); }, [scope, animate, filter, duration]); // هنا نحول كل طفل (child) لعنصر لعمل تأثير الحركة const renderWords = () => { return (
{React.Children.map(children, (child, idx) => { return ( {child} ); })}
); }; return (
{renderWords()}
); };