'use client'; import React from 'react'; import { NewsletterModule, ProductItem, BadgeTemplate, CardProduct } from '@/types/newsletter'; import { Plus, Trash2, Image as ImageIcon, Tag, Store, Globe, Palette, Check, Code } from 'lucide-react'; import { SUPABASE_ASSETS_BASE } from '@/lib/defaultCampaign'; import { ImageUploadInput } from './ImageUploadInput'; import { pickAlt } from '@/lib/altText'; import { renderGeneratedModuleHtml, CUSTOM_HTML_MODULE_TYPES } from '@/lib/emailRenderer'; import { badgeWidthFor } from '@/lib/productCard'; import { ProductEditor, PRODUCT_BG_PRESETS } from './ProductEditor'; interface ConfigPanelProps { module: NewsletterModule | null; onUpdateModule: (updated: NewsletterModule) => void; onApplyBadgeToAll?: (badge: BadgeTemplate, badgeLayout?: 'below' | 'side') => void; // Zmena nastavení spoločných pre všetky produktové sekcie a vernostné zľavy (platnosť akcie...) onUpdateAllProductSections?: (patch: Record) => void; campaignValidity?: string; // globálna platnosť akcie (pre Lištu platnosti) onOpenBadgeManager?: (productId: string) => void; onOpenImport?: () => void; availableBadges?: BadgeTemplate[]; // Otvorený produkt v harmonike (klik na produkt v náhľade ho otvorí) selectedProductId?: string | null; onSelectProduct?: (productId: string | null) => void; } // Jednoduchý HTML editor: vlastné HTML nahradí modul vygenerovaný z formulára const CustomHtmlEditor: React.FC<{ module: NewsletterModule; updateData: (patch: Record) => void; }> = ({ module, updateData }) => { const enabled = !!module.data.useCustomHtml; const toggle = () => { if (enabled) { // Neupravené HTML nedržíme, aby sa pri ďalšom zapnutí predvyplnilo aktuálne z formulára const unchanged = (module.data.customHtml || '').trim() === renderGeneratedModuleHtml(module); updateData({ useCustomHtml: false, ...(unchanged ? { customHtml: undefined } : {}) }); } else { // Pri prvom zapnutí predvyplníme aktuálne vygenerované HTML updateData({ useCustomHtml: true, customHtml: module.data.customHtml || renderGeneratedModuleHtml(module) }); } }; const reloadFromForm = () => { if (confirm('Prepísať vlastné HTML aktuálnym HTML vygenerovaným z formulára?')) { updateData({ customHtml: renderGeneratedModuleHtml(module) }); } }; return (
{enabled ? ( <>