'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 (