'use client' import React, { useState } from 'react' interface PivoineDocsIconProps { size?: string interactive?: boolean className?: string showLabel?: boolean } export default function PivoineDocsIcon({ size = '256px', interactive = true, className = '', showLabel = false }: PivoineDocsIconProps) { const [isClicked, setIsClicked] = useState(false) const [showRipple, setShowRipple] = useState(false) const handleClick = () => { if (!interactive) return setIsClicked(true) setShowRipple(true) setTimeout(() => { setIsClicked(false) }, 800) setTimeout(() => { setShowRipple(false) }, 1000) } const handleTouch = (e: React.TouchEvent) => { if (!interactive) return handleClick() } return (
{/* Gradients */} {/* Filters */} {/* Background circle */} {/* Outer petals (8 petals) */} {[0, 45, 90, 135, 180, 225, 270, 315].map((angle, i) => ( ))} {/* Middle petals (6 petals) */} {[30, 90, 150, 210, 270, 330].map((angle, i) => ( ))} {/* Inner petals (4 petals) */} {[45, 135, 225, 315].map((angle, i) => ( ))} {/* Center - Document pages */} {/* Page stack */} {/* Text lines on front page */} {/* Center golden circle */} {/* Sparkle dots */} {/* Orbiting particles */} {/* Ripple effect */} {showRipple &&
} {/* Optional label */} {showLabel && (
Pivoine Docs
)}
) }