cms.c2sgmbh/src/blocks/QuoteBlock.ts
Martin Porwoll 95c9d2a4bc feat: add content blocks and global settings
Blocks for page builder:
- HeroBlock: hero sections with CTA
- TextBlock: rich text content
- ImageTextBlock: image with text layout
- CardGridBlock: grid of cards
- CTABlock: call-to-action sections
- QuoteBlock: testimonial quotes
- VideoBlock: embedded videos
- DividerBlock: visual separators
- ContactFormBlock: contact forms
- NewsletterBlock: newsletter signup
- ProcessStepsBlock: step-by-step processes
- TimelineBlock: timeline displays
- TestimonialsBlock: testimonial carousels
- PostsListBlock: blog post listings

Globals:
- Navigation: site navigation structure
- SiteSettings: general site configuration
- SEOSettings: default SEO settings per tenant

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 08:19:15 +00:00

47 lines
959 B
TypeScript

import type { Block } from 'payload'
export const QuoteBlock: Block = {
slug: 'quote-block',
labels: {
singular: 'Zitat',
plural: 'Zitate',
},
fields: [
{
name: 'quote',
type: 'textarea',
required: true,
label: 'Zitat',
localized: true,
},
{
name: 'author',
type: 'text',
label: 'Autor',
// Author bleibt nicht lokalisiert - Namen sind sprachunabhängig
},
{
name: 'role',
type: 'text',
label: 'Rolle/Position',
localized: true,
},
{
name: 'image',
type: 'upload',
relationTo: 'media',
label: 'Autorenbild',
},
{
name: 'style',
type: 'select',
defaultValue: 'simple',
label: 'Stil',
options: [
{ label: 'Einfach', value: 'simple' },
{ label: 'Hervorgehoben', value: 'highlighted' },
{ label: 'Mit Bild', value: 'with-image' },
],
},
],
}