Luca Perullo
Components

Component

LiveNew

Light Rays

Strisce con linear-gradient verso il basso, transform-origin top center. Drift ±5° su loop 9–12s.

BackgroundLight
Open in ClaudeSorgente

Esempio01

light-rays.tsx
001Default · 6 rays accent
002Hero · soft halo from above
section · 001

Pronto a spedire?

003Dense · 12 rays warm

Note Filter blur 8px + opacity ridotta = fasci morbidi. Le animazioni sono sfasate via durations 9/10/11/12 alternate.

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 · light-rays
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 <LightRays>.
Props:
- rayCount?: number (default 6).
- rayColor?: string (default "var(--accent)").
- intensity?: number (default 0.4).
- className?: string.

Implementazione:
- Server component. Wrapper absolute inset-0 overflow-hidden.
- Per ogni ray: span absolute left-1/2 top-0 h-[150%] w-[2px], transform-origin top center, background linear-gradient to bottom rayColor → transparent, opacity intensity, blur 8px.
- baseAngle distribuito da -30° a +30°, amp ±5°, durations 9–12s alternate.
- @keyframes light-rays-drift: 0%/100% rotate(var(--lr-base)), 50% rotate(calc(var(--lr-base) + var(--lr-amp))).

Output: file completo src/components/light-rays.tsx.

Uso tipico03

tsx
<LightRays rayCount={6} rayColor="var(--accent)" />

Dipendenze04

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

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