import { cn } from '@/lib/utils'; import { SharedContentLayout } from '@/components/SharedContentLayout'; import { getSectionBackground } from '@/lib/sectionStyles'; import { SectionBackgroundRenderer } from '@/components/SectionBackgroundRenderer'; interface ImageTextSectionProps { id: string; layout?: string; colorScheme?: string; title?: string; text?: string; image?: string; elementStyles?: Record; } export function ImageTextSection({ id, layout = 'image-left', colorScheme = 'default', title, text, image, cta_text, cta_url, elementStyles, styles, isEditor, }: ImageTextSectionProps & { styles?: Record, cta_text?: string, cta_url?: string, isEditor?: boolean }) { const isImageRight = layout === 'image-right' || layout === 'right'; // Helper to get text styles (including font family) const getTextStyles = (elementName: string) => { const styles = elementStyles?.[elementName] || {}; return { classNames: cn( styles.fontSize, styles.fontWeight, { 'font-sans': styles.fontFamily === 'secondary', 'font-serif': styles.fontFamily === 'primary', } ), style: { color: styles.color, textAlign: styles.textAlign, backgroundColor: styles.backgroundColor, borderColor: styles.borderColor, borderWidth: styles.borderWidth, borderRadius: styles.borderRadius, } }; }; const titleStyle = getTextStyles('title'); const textStyle = getTextStyles('text'); const buttonStyle = getTextStyles('button'); const imageStyle = elementStyles?.['image'] || {}; const sectionBg = getSectionBackground(styles); return (
); }