Skip to content

Newsletter card

Floating card footer with a newsletter field.

Usage

Usage
import { NewsletterCardFooter } from '@/components/blocks/footer-06'


<NewsletterCardFooter />


// Swap in your own content
<NewsletterCardFooter
  headline="Notes on new work, sent once a month."
  brandName="Claywork"
  onSubscribe={async (email) => {
    await fetch('/api/subscribe', { method: 'POST', body: JSON.stringify({ email }) })
  }}
  columns={[
    {
      label: 'Studio',
      links: [
        { label: 'Work', href: '/work' },
        { label: 'About', href: '/about' },
      ],
    },
    {
      label: 'Help',
      links: [
        { label: 'Contact', href: '/contact' },
        { label: 'Privacy', href: '/privacy' },
      ],
    },
  ]}
  contactEmail="studio@claywork.co"
  colors={{ blue: '#2B7FFF', sky: '#8EC5FF' }}
/>

Install

pnpm dlx shadcn@latest add @pastaui-pro/footer-06

Source

Props

Newsletter card props
PropTypeDefaultDescription
headlinestring= Letters on new stoneware…Headline above the email field.
emailLabelstring= 'Email address'Accessible label for the email field.
emailPlaceholderstring= 'Email address'Placeholder inside the email field.
submitLabelstring= 'Subscribe'Accessible name of the arrow button.
successMessagestring= 'You’re subscribed…'Message announced after a successful signup.
onSubscribe(email: string) => void | Promise<void>= Simulated successCalled with the trimmed email. Throw or reject to show the error message. Without it, success is simulated after a short delay.
columnsNewsletterFooterColumn[]= Shop / HelpLink columns, each with a label and label and href pairs.
paymentsNewsletterFooterPayment[]= Visa / Mastercard / PayPal / Apple PayPayment marks with a name and icon. Pass an empty array to hide them.
socialsNewsletterFooterSocial[]= LinkedIn / Pinterest / TikTokRound social buttons with a label, href and icon.
brandNamestring= 'Sundrift'Used in the mark’s label and the default copyright.
brandHrefstring= '#'Where the brand mark links.
markReactNode= Sundrift markYour own logo in the card’s bottom-right corner.
copyrightstring= '© {year} {brandName} Goods Co.'Text on the left of the line below the card.
contactEmailstring | null= 'hello@sundrift.co'Mail link on the right of the bottom line. Pass null to hide it.
colorsPartial<NewsletterFooterColors>= { light: '#F3F6FB', dark: '#070E1C', blue: '#2B7FFF', sky: '#8EC5FF' }Hex colors for the gradient canvas in light and dark mode and its two glows.
classNamestring= —Additional classes for the footer.
styleCSSProperties= —Override the `--pp-*` theme variables inline.