Luca Perullo
Components

Component

LiveNew

Sparkles Text

Pool fisso di sparkle attivi (default 8) con position random. Pure CSS scale + opacity, JS solo per spawn.

TextEffectClient
Open in ClaudeSorgente

Esempio01

sparkles-text.tsx
001Default · accent + amber
Magic
002Hero · launch badge
Just launched

Components 2.0

36 nuovi pezzi, brand-locked, copy in italiano.

003Custom palette · single accent
Pro

Note Sparkle pool refresh ogni 600ms con un solo update random — niente flash sincronizzati. Posizioni in % per essere responsive.

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 · sparkles-text
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 <SparklesText> con stelline a 4 punte.
Type:
- Sparkle = { id; x; y; size; color; delay; lifetime }
Props:
- children: ReactNode.
- sparklesCount?: number (default 8).
- colors?: { first?: string; second?: string }.
- className?: string.

Implementazione:
- "use client". useState<Sparkle[]>, useRef<number> per id.
- useEffect mount: crea N sparkles random (x/y in 0–100%, size 6–16, lifetime 1100–1700ms).
- setInterval(600ms): re-create UNO sparkle random nel pool.
- Render: span relative inline-block, span absolute pointer-events-none con SVG path stella su animation sparkles-text-pop (scale 0→1→0, rotate 0→180deg).

Output: file completo src/components/sparkles-text.tsx.

Uso tipico03

tsx
<SparklesText sparklesCount={8}>Magic</SparklesText>

Dipendenze04

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

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