Sections
NewsletterSection
A dark email signup section with client-side validation, success state, and accessible form markup
Quick Preview
Stay in the loop
Get the latest updates, articles, and resources delivered straight to your inbox.
Custom Copy
Get weekly tips
Short, actionable insights delivered every Tuesday.
Installation
// Copy the component fromsrc/components/sections/NewsletterSection.tsx// Note: NewsletterSection is a Client Component ('use client')// Wire up the form submit handler to your email provider// (Mailchimp, Resend, ConvertKit, etc.)
Usage
import { NewsletterSection } from '@/components/sections/NewsletterSection'// Defaultexport default function Footer() {return (<>{/* ... */}<NewsletterSection /></>)}// All propsexport default function Footer() {return (<NewsletterSectiontitle="Join our newsletter"subtitle="Get product updates and tutorials."placeholder="your@email.com"ctaLabel="Subscribe now"note="No spam. Unsubscribe any time."/>)}
Prompt Preview
Copy a prompt that recreates this UI
Paste this into your AI coding assistant to generate code that closely matches the reference, including color, size, shape, typography, spacing, and polish.
Copy-ready AI prompt
Starts from the current visual reference and project constraints.
Tweak only product-specific copy or data after the first generation pass.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
title | string | "Stay in the loop" | Section heading |
subtitle | string | - | Description text |
placeholder | string | "Enter your email" | Input placeholder |
ctaLabel | string | "Subscribe" | Submit button label |
note | string | - | Fine-print text below the form |
className | string | - | Additional CSS classes |
Features
- โDark gray-900 background
- โClient-side email regex validation
- โSuccess state with confirmation message
- โAccessible: sr-only label, aria-compliant form
- โAll copy customizable via props