"use client" import React, { useState } from "react" import { motion, AnimatePresence } from "motion/react" export default function RippleButton({ children }) { const [ripples, setRipples] = useState([]) const addRipple = (e) => { const rect = e.currentTarget.getBoundingClientRect() const x = e.clientX - rect.left const y = e.clientY - rect.top const id = Date.now() setRipples([...ripples, { x, y, id }]) setTimeout(() => { setRipples((r) => r.filter((ripple) => ripple.id !== id)) }, 600) // ripple длится ~600ms } return ( ) }