wwwfiberdirekt/src/blocks/FDCardGridBlock/config.ts

133 lines
3.6 KiB
TypeScript

import type { Block } from 'payload'
export const FDCardGridBlock: Block = {
slug: 'fdCardGrid',
interfaceName: 'FDCardGridBlock',
labels: {
singular: 'FD Card Grid',
plural: 'FD Card Grid',
},
fields: [
{
name: 'layout',
type: 'select',
label: 'Layout',
defaultValue: '1-1-1',
required: true,
options: [
{ label: '1/3 + 2/3', value: '1-2' },
{ label: '2/3 + 1/3', value: '2-1' },
{ label: '1/3 + 1/3 + 1/3', value: '1-1-1' },
{ label: '1/2 + 1/2', value: '1-1' },
],
},
{
name: 'cardStyle',
type: 'select',
label: 'Kortstil',
defaultValue: 'outlined',
required: true,
options: [
{ label: 'Navy (mörk)', value: 'navy' },
{ label: 'Grå', value: 'gray' },
{ label: 'Gul', value: 'yellow' },
{ label: 'Grön', value: 'green' },
{ label: 'Kontur (vit med ram)', value: 'outlined' },
],
},
{
name: 'cards',
type: 'array',
label: 'Kort',
minRows: 1,
maxRows: 6,
fields: [
{
name: 'displayMode',
type: 'select',
label: 'Visningsläge',
defaultValue: 'content',
options: [
{ label: 'Rubrik + innehåll', value: 'content' },
{ label: 'Centrerad stor rubrik', value: 'centeredHeading' },
{ label: 'Centrerad brödtext', value: 'centeredBody' },
],
admin: {
description: '"Centrerad stor rubrik" visar bara rubrikfältet centrerat med stor text. "Centrerad brödtext" visar bara brödtext centrerat.',
},
},
{
name: 'heading',
type: 'text',
label: 'Rubrik (valfri)',
},
{
name: 'centeredBodyText',
type: 'textarea',
label: 'Centrerad brödtext',
admin: {
condition: (_, siblingData) => siblingData?.displayMode === 'centeredBody',
},
},
{
name: 'contentLines',
type: 'array',
label: 'Innehållsrader',
minRows: 0,
maxRows: 10,
admin: {
condition: (_, siblingData) => siblingData?.displayMode === 'content',
},
fields: [
{
name: 'text',
type: 'text',
label: 'Text',
required: true,
},
{
name: 'style',
type: 'select',
label: 'Stil',
defaultValue: 'normal',
options: [
{ label: 'Normal', value: 'normal' },
{ label: 'Fet (Bold)', value: 'bold' },
{ label: 'Kursiv (Italic)', value: 'italic' },
{ label: 'Fet + Kursiv', value: 'boldItalic' },
],
},
{
name: 'link',
type: 'text',
label: 'Länk (valfri)',
admin: {
description: 'Om ifylld blir texten en klickbar länk med understruken stil',
},
},
],
},
{
name: 'cardLink',
type: 'text',
label: 'Kortlänk (valfri)',
admin: {
description: 'Gör hela kortet klickbart',
},
},
],
},
{
name: 'sectionBackground',
type: 'select',
label: 'Sektionsbakgrund',
defaultValue: 'white',
options: [
{ label: 'Vit', value: 'white' },
{ label: 'Navy', value: 'navy' },
{ label: 'Grå', value: 'gray' },
],
},
],
}