import React from 'react' import type { FDCtaBannerBlock as FDCtaBannerBlockProps } from '@/payload-types' const bgMap: Record = { yellow: { section: 'bg-fd-yellow', heading: 'text-fd-navy', sub: 'text-fd-navy/70', primaryBtn: 'bg-fd-navy hover:bg-fd-navy/90 text-white', secondaryBtn: 'border-2 border-fd-navy text-fd-navy hover:bg-fd-navy/10', }, navy: { section: 'bg-fd-navy', heading: 'text-fd-yellow', sub: 'text-white/70', primaryBtn: 'bg-fd-yellow hover:bg-fd-yellow/90 text-fd-navy', secondaryBtn: 'border-2 border-white text-white hover:bg-white/10', }, gray: { section: 'bg-fd-gray-light dark:bg-fd-navy', heading: 'text-fd-navy dark:text-fd-yellow', sub: 'text-fd-navy/70 dark:text-white/70', primaryBtn: 'bg-fd-navy hover:bg-fd-navy/90 text-white dark:bg-fd-yellow dark:hover:bg-fd-yellow/90 dark:text-fd-navy', secondaryBtn: 'border-2 border-fd-navy text-fd-navy hover:bg-fd-navy/10 dark:border-white dark:text-white dark:hover:bg-white/10', }, white: { section: 'bg-white dark:bg-fd-navy', heading: 'text-fd-navy dark:text-fd-yellow', sub: 'text-fd-navy/70 dark:text-white/70', primaryBtn: 'bg-fd-navy hover:bg-fd-navy/90 text-white dark:bg-fd-yellow dark:hover:bg-fd-yellow/90 dark:text-fd-navy', secondaryBtn: 'border-2 border-fd-navy text-fd-navy hover:bg-fd-navy/10 dark:border-white dark:text-white dark:hover:bg-white/10', }, } const sizeMap: Record = { small: { py: 'py-10 md:py-14', heading: 'text-fd-h2', sub: 'text-fd-body' }, medium: { py: 'py-14 md:py-20 lg:py-[80px]', heading: 'text-fd-h1', sub: 'text-fd-body-lg' }, large: { py: 'py-16 md:py-24 lg:py-[99px]', heading: 'text-fd-display', sub: 'text-fd-body-lg' }, } export const FDCtaBannerBlockComponent: React.FC = ({ heading, subheading, ctaText, ctaLink = '/kontakt', secondaryCtaText, secondaryCtaLink, sectionBackground = 'yellow', alignment = 'center', size = 'medium', anchorId, }) => { const theme = bgMap[sectionBackground ?? 'yellow'] || bgMap.yellow const sizing = sizeMap[size ?? 'medium'] || sizeMap.medium const isCenter = alignment === 'center' return (

{heading}

{subheading && (

{subheading}

)}
{(ctaText || secondaryCtaText) && (
{ctaText && ( {ctaText} )} {secondaryCtaText && secondaryCtaLink && ( {secondaryCtaText} )}
)}
) }