126 lines
3.2 KiB
TypeScript
126 lines
3.2 KiB
TypeScript
import type { Block } from 'payload'
|
|
|
|
export const FDNewsletterBlock: Block = {
|
|
slug: 'fdNewsletter',
|
|
imageURL: '/block-thumbnails/fd-newsletter.png',
|
|
imageAltText: 'FD Nyhetsbrev',
|
|
interfaceName: 'FDNewsletterBlock',
|
|
labels: {
|
|
singular: 'FD Nyhetsbrev',
|
|
plural: 'FD Nyhetsbrev',
|
|
},
|
|
fields: [
|
|
// --- Content ---
|
|
{
|
|
name: 'heading',
|
|
type: 'text',
|
|
localized: true,
|
|
label: 'Rubrik',
|
|
defaultValue: 'Håll dig uppdaterad',
|
|
},
|
|
{
|
|
name: 'description',
|
|
type: 'textarea',
|
|
localized: true,
|
|
label: 'Beskrivning',
|
|
defaultValue: 'Prenumerera på vårt nyhetsbrev för att få de senaste nyheterna om fiber, cloud och IT-infrastruktur.',
|
|
},
|
|
// --- Form settings ---
|
|
{
|
|
name: 'submitEndpoint',
|
|
type: 'text',
|
|
label: 'Formulärets endpoint-URL',
|
|
required: true,
|
|
admin: {
|
|
description:
|
|
'URL dit formulärdata skickas (POST). T.ex. /api/newsletter, en Lime CRM webhook, eller en tredjeparts-URL.',
|
|
},
|
|
},
|
|
{
|
|
name: 'buttonText',
|
|
type: 'text',
|
|
localized: true,
|
|
label: 'Knapptext',
|
|
defaultValue: 'Prenumerera',
|
|
},
|
|
{
|
|
name: 'successMessage',
|
|
type: 'text',
|
|
localized: true,
|
|
label: 'Bekräftelsemeddelande',
|
|
defaultValue: 'Tack! Du är nu prenumerant.',
|
|
},
|
|
{
|
|
name: 'consentText',
|
|
type: 'text',
|
|
localized: true,
|
|
label: 'Samtycketext',
|
|
defaultValue: 'Jag godkänner att mina uppgifter används enligt vår integritetspolicy.',
|
|
admin: {
|
|
description: 'Text bredvid samtyckeskryssrutan (GDPR)',
|
|
},
|
|
},
|
|
{
|
|
name: 'privacyPolicyLink',
|
|
type: 'text',
|
|
label: 'Länk till integritetspolicy',
|
|
defaultValue: '/integritetspolicy',
|
|
},
|
|
// --- Extra fields toggle ---
|
|
{
|
|
name: 'collectName',
|
|
type: 'checkbox',
|
|
label: 'Samla in namn',
|
|
defaultValue: false,
|
|
admin: {
|
|
description: 'Lägg till ett namnfält i formuläret',
|
|
},
|
|
},
|
|
{
|
|
name: 'collectCompany',
|
|
type: 'checkbox',
|
|
label: 'Samla in företagsnamn',
|
|
defaultValue: false,
|
|
admin: {
|
|
description: 'Lägg till ett fält för företagsnamn',
|
|
},
|
|
},
|
|
// --- Layout ---
|
|
{
|
|
name: 'layout',
|
|
type: 'select',
|
|
label: 'Layout',
|
|
defaultValue: 'inline',
|
|
options: [
|
|
{ label: 'Inline (fält + knapp på en rad)', value: 'inline' },
|
|
{ label: 'Staplad (fält ovanför knapp)', value: 'stacked' },
|
|
{ label: 'Kort (centrerat med bakgrund)', value: 'card' },
|
|
],
|
|
},
|
|
// --- Style ---
|
|
{
|
|
name: 'sectionBackground',
|
|
type: 'select',
|
|
label: 'Sektionsbakgrund',
|
|
defaultValue: 'navy',
|
|
options: [
|
|
{ label: 'Vit', value: 'white' },
|
|
{ label: 'Navy', value: 'navy' },
|
|
{ label: 'Grå', value: 'gray' },
|
|
{ label: 'Gul', value: 'yellow' },
|
|
],
|
|
},
|
|
{
|
|
name: 'textColor',
|
|
type: 'select',
|
|
label: 'Textfärg',
|
|
defaultValue: 'auto',
|
|
options: [
|
|
{ label: 'Automatisk', value: 'auto' },
|
|
{ label: 'Navy', value: 'navy' },
|
|
{ label: 'Vit', value: 'white' },
|
|
],
|
|
},
|
|
],
|
|
}
|