Luca Perullo
Components

Component

LiveNew

Rainbow Button

Faccia sobria sopra un conic-gradient ruotante a 6s. L'effetto vive su un layer blurred dietro il pulsante, niente JS per frame.

ButtonEffectClient
Open in ClaudeSorgente

Esempio01

rainbow-button.tsx
001Default
002Pricing CTA · in context
Pro · €19/mese

Tutti i componenti, brand prompts, aggiornamenti settimanali.

003With icon

Note Min-height 44px per touch. Press utility per il feedback. La rotazione è pura CSS — il global guard di prefers-reduced-motion la collassa automaticamente.

Prompt LLM02

Incolla in Claude o ChatGPT per generare la tua variante. Include il contesto del brand, i token e i vincoli del progetto.

Prompt · rainbow-button
Open in Claude
Sei un senior frontend engineer. Stai lavorando su un sito Next.js 16 + React 19 + Tailwind v4 in italiano, look chanhdai-inspired: colonna stretta 672px, Geist Sans + Geist Mono, hairline 1px, divisori a stripe diagonale, palette zinc.

Token CSS disponibili: --bg, --bg-alt, --fg, --fg-muted, --fg-soft, --border, --border-strong, --accent. Usa SEMPRE queste variabili tramite le utility tailwind generate (bg-bg, text-fg-muted, border-border, ecc.). Helper "cn" da "@/lib/utils". Niente librerie UI extra: solo lucide-react e tailwind-merge.

Genera un componente <RainbowButton> CTA.
Type:
- RainbowButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & { children: ReactNode; className?: string }

Implementazione:
- "use client" non necessario (pure CSS).
- Bottone rounded-full, min-h-[44px] px-5 py-2, border border-border-strong bg-bg-alt text-fg, classe press.
- Pseudo-layer in absolute -inset-[2px] -z-10 con conic-gradient di 5 stop (red-500, amber-500, emerald-500, blue-500, violet-500), filter blur(10px), opacity 0.55, animation rainbow-rotate 6s linear infinite (@keyframes da definire inline via <style>).
- Sotto al gradient un secondo span absolute inset-0 -z-10 rounded-full bg-bg-alt che fa da maschera per dare l'effetto "alone esterno".

Output: file completo src/components/rainbow-button.tsx.

Uso tipico03

tsx
<RainbowButton onClick={...}>Inizia ora</RainbowButton>

Dipendenze04

npm
  • lucide-react
  • tailwind-merge
  • clsx
Interno
  • @/lib/utils#cn

Ti è servito? Dimmelo, oppure proponi il prossimo componente.