import { useEffect, useState } from "react"; interface HowItWorksModalProps { isOpen: boolean; onClose: () => void; } export function HowItWorksModal({ isOpen, onClose }: HowItWorksModalProps) { const [shouldRender, setShouldRender] = useState(isOpen); const [animationClass, setAnimationClass] = useState(""); useEffect(() => { if (isOpen) { setShouldRender(true); setAnimationClass("modal-enter"); } else { setAnimationClass("modal-exit"); // Wait for animation to finish before unmounting const timer = setTimeout(() => setShouldRender(false), 200); // match animation duration return () => clearTimeout(timer); } }, [isOpen]); if (!shouldRender) return null; return (
{desc}