Zoeken...  ⌘K GitHub

FormNewsletter2 Forms

Nieuwsbrief aanmelding met social proof.

/form-newsletter-2
src/components/forms/FormNewsletter2.astro
---
/**
 * FormNewsletter2
 * Alternatieve nieuwsbrief-aanmelding met social proof
 */
interface Props {
  headline?: string;
  sub?: string;
  proof?: string;
  submitLabel?: string;
}
const {
  headline = 'Blijf voorop in digital marketing',
  sub = 'Wekelijkse inzichten over SEO, ads en conversie-optimalisatie — direct in je inbox.',
  proof = 'Meer dan 3.400 marketeers gingen je voor',
  submitLabel = 'Meld mij aan',
} = Astro.props;
---

<section class="fnl2">
  <div class="fnl2__inner">
    <div class="fnl2__text">
      <h2 class="fnl2__headline">{headline}</h2>
      <p class="fnl2__sub">{sub}</p>
      <div class="fnl2__proof">
        <div class="fnl2__avatars" aria-hidden="true">
          <span class="fnl2__avatar">MB</span>
          <span class="fnl2__avatar">JV</span>
          <span class="fnl2__avatar">KR</span>
          <span class="fnl2__avatar">+</span>
        </div>
        <span class="fnl2__proof-text">{proof}</span>
      </div>
    </div>
    <form class="fnl2__form" novalidate>
      <input class="fnl2__input" type="email" placeholder="jouw@emailadres.nl" required />
      <button class="fnl2__btn" type="submit">{submitLabel}</button>
      <p class="fnl2__privacy">Geen spam. Afmelden in één klik.</p>
    </form>
  </div>
</section>

<style>
  .fnl2 {
    background: #f5f4ff;
    padding: 4.5rem 1.5rem;
    border-top: 1px solid #e8e6ff;
    border-bottom: 1px solid #e8e6ff;
  }
  .fnl2__inner {
    max-width: 900px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
  }
  .fnl2__headline {
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--color-primary, #0a0a0a);
    margin: 0 0 0.6rem;
    line-height: 1.25;
  }
  .fnl2__sub {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 0 1.25rem;
  }
  .fnl2__proof {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }
  .fnl2__avatars {
    display: flex;
  }
  .fnl2__avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-accent, #6366f1);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #f5f4ff;
    margin-right: -8px;
  }
  .fnl2__proof-text {
    font-size: 0.82rem;
    color: #666;
    font-weight: 500;
    padding-left: 0.5rem;
  }
  .fnl2__form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .fnl2__input {
    padding: 0.85rem 1rem;
    border: 1.5px solid #d4d0fb;
    border-radius: 8px;
    font-size: 0.95rem;
    color: var(--color-primary, #0a0a0a);
    background: #fff;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
  }
  .fnl2__input:focus { border-color: var(--color-accent, #6366f1); }
  .fnl2__btn {
    padding: 0.9rem 1.5rem;
    background: var(--color-accent, #6366f1);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 0.97rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s;
    width: 100%;
    font-family: inherit;
  }
  .fnl2__btn:hover { opacity: 0.88; }
  .fnl2__privacy {
    font-size: 0.75rem;
    color: #999;
    text-align: center;
    margin: 0;
  }
  @media (max-width: 640px) {
    .fnl2__inner { grid-template-columns: 1fr; gap: 2rem; }
  }
</style>

Props

Prop Type Default Beschrijving
headline string Formuliertitel
proof string Social proof tekst

* = verplicht