import type { Block } from 'payload' /** * Newsletter Block * Anmeldeformular für Newsletter */ export const NewsletterBlock: Block = { slug: 'newsletter-block', labels: { singular: 'Newsletter Anmeldung', plural: 'Newsletter Anmeldungen', }, fields: [ { name: 'title', type: 'text', defaultValue: 'Newsletter abonnieren', label: 'Überschrift', localized: true, }, { name: 'subtitle', type: 'textarea', defaultValue: 'Erhalten Sie regelmäßig Updates und Neuigkeiten direkt in Ihr Postfach.', label: 'Beschreibung', localized: true, }, { name: 'layout', type: 'select', defaultValue: 'inline', label: 'Layout', options: [ { label: 'Inline (Eingabe + Button nebeneinander)', value: 'inline' }, { label: 'Gestapelt (untereinander)', value: 'stacked' }, { label: 'Mit Bild (50/50)', value: 'with-image' }, { label: 'Minimal (nur Input)', value: 'minimal' }, { label: 'Card (Karte)', value: 'card' }, ], }, { name: 'image', type: 'upload', relationTo: 'media', label: 'Bild', admin: { condition: (data, siblingData) => siblingData?.layout === 'with-image', }, }, { name: 'imagePosition', type: 'select', defaultValue: 'left', label: 'Bildposition', options: [ { label: 'Links', value: 'left' }, { label: 'Rechts', value: 'right' }, ], admin: { condition: (data, siblingData) => siblingData?.layout === 'with-image', }, }, { name: 'collectName', type: 'checkbox', defaultValue: false, label: 'Name abfragen', }, { name: 'showInterests', type: 'checkbox', defaultValue: false, label: 'Interessen zur Auswahl anbieten', }, { name: 'availableInterests', type: 'select', hasMany: true, label: 'Verfügbare Interessen', options: [ { label: 'Allgemeine Updates', value: 'general' }, { label: 'Blog-Artikel', value: 'blog' }, { label: 'Produkt-News', value: 'products' }, { label: 'Angebote & Aktionen', value: 'offers' }, { label: 'Events', value: 'events' }, ], admin: { condition: (data, siblingData) => siblingData?.showInterests, }, }, { name: 'buttonText', type: 'text', defaultValue: 'Anmelden', label: 'Button-Text', localized: true, }, { name: 'placeholderEmail', type: 'text', defaultValue: 'Ihre E-Mail-Adresse', label: 'Placeholder E-Mail', localized: true, }, { name: 'successMessage', type: 'textarea', defaultValue: 'Vielen Dank! Bitte bestätigen Sie Ihre E-Mail-Adresse über den Link in der Bestätigungsmail.', label: 'Erfolgsmeldung', localized: true, }, { name: 'errorMessage', type: 'text', defaultValue: 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.', label: 'Fehlermeldung', localized: true, }, { name: 'privacyText', type: 'textarea', defaultValue: 'Mit der Anmeldung akzeptieren Sie unsere Datenschutzerklärung. Sie können sich jederzeit abmelden.', label: 'Datenschutz-Hinweis', localized: true, }, { name: 'privacyLink', type: 'text', defaultValue: '/datenschutz', label: 'Link zur Datenschutzerklärung', }, { name: 'source', type: 'text', defaultValue: 'website', label: 'Tracking-Quelle', admin: { description: 'Wird gespeichert um zu tracken, wo die Anmeldung erfolgte', }, }, { name: 'backgroundColor', type: 'select', defaultValue: 'accent', label: 'Hintergrund', options: [ { label: 'Weiß', value: 'white' }, { label: 'Hell (Grau)', value: 'light' }, { label: 'Dunkel', value: 'dark' }, { label: 'Akzentfarbe', value: 'accent' }, ], }, ], }