Prompt · dot-pattern
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 <DotPattern> SVG dotted-grid.
Props:
- width?: number (default 16), height?: number (default 16).
- cx?: number (default 1), cy?: number (default 1), cr?: number (default 1).
- glow?: boolean (default false).
- className?: string.
Implementazione:
- Server component. import { useId } from "react".
- <svg aria-hidden absolute inset-0 h-full w-full text-fg-soft/40>: <defs><pattern id={id} width={width} height={height} patternUnits="userSpaceOnUse"><circle cx cy r fill="currentColor"/></pattern></defs><rect 100% fill={url(#id)}/>.
- Se glow → classe [mask-image:radial-gradient(closest-side_at_center,black,transparent)].
Output: file completo src/components/dot-pattern.tsx.