"use client"; import React, { useState } from "react"; import "./KomposeIcon.css"; interface KomposeIconProps { size?: string; interactive?: boolean; className?: string; } export default function KomposeIcon({ size = "192px", interactive = true, className = "", }: KomposeIconProps) { const [isClicked, setIsClicked] = useState(false); const [showRipple, setShowRipple] = useState(false); const handleClick = () => { if (!interactive) return; setIsClicked(true); setShowRipple(true); setTimeout(() => { setIsClicked(false); }, 600); setTimeout(() => { setShowRipple(false); }, 800); }; const handleTouch = (e: React.TouchEvent) => { if (!interactive) return; handleClick(); }; const wrapperClasses = [ "kompose-icon-wrapper", isClicked && "is-clicked", interactive && "is-interactive", className, ] .filter(Boolean) .join(" "); return (