feat: globalna platnost akcie sa prepisuje do vsetkych produktovych sekcii (uloha 15)

Zmena v ktorejkolvek produktovej sekcii alebo vo vernostnych zlavach
nastavi platnost vsade; produkty s vlastnou platnostou si ju ponechaju.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub_HostacnyandClaude Opus 5.5 committed 2026-10-19 10:25:35 +02:00
1 parent d43a1dae40
commit 92dc2081d0
2 files changed
+28 -2

No files matched your search

+14 -2
View File
@@ -20,6 +20,7 @@ interface ConfigPanelProps {
module: NewsletterModule | null;
onUpdateModule: (updated: NewsletterModule) => void;
onApplyBadgeToAll?: (badge: BadgeTemplate, badgeLayout?: 'below' | 'side') => void;
onSetGlobalValidity?: (validity: string) => void; // nastaví platnosť vo všetkých produktových sekciách
onOpenBadgeManager?: (productId: string) => void;
onOpenImport?: () => void;
availableBadges?: BadgeTemplate[];
@@ -29,6 +30,7 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
module,
onUpdateModule,
onApplyBadgeToAll,
onSetGlobalValidity,
onOpenBadgeManager,
onOpenImport,
availableBadges = []
@@ -343,10 +345,15 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
<input
type="text"
value={module.data.globalValidity || ''}
onChange={(e) => updateData({ globalValidity: e.target.value })}
onChange={(e) =>
onSetGlobalValidity
? onSetGlobalValidity(e.target.value)
: updateData({ globalValidity: e.target.value })
}
placeholder="napr. 2. 5. – 15. 5. 2026"
className="w-full text-sm border border-gray-300 rounded-lg p-2"
/>
<p className="text-[10px] text-gray-500 mt-1">Platí pre všetky produktové sekcie aj vernostné zľavy. Produkty s vlastnou platnosťou si ju ponechajú.</p>
</div>
{/* Rozloženie produktov (Počet produktov na riadok) */}
@@ -981,10 +988,15 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
<input
type="text"
value={module.data.globalValidity || ''}
onChange={(e) => updateData({ globalValidity: e.target.value })}
onChange={(e) =>
onSetGlobalValidity
? onSetGlobalValidity(e.target.value)
: updateData({ globalValidity: e.target.value })
}
placeholder="napr. 2. 5. – 15. 5. 2026"
className="w-full text-sm border border-gray-300 rounded-lg p-2"
/>
<p className="text-[10px] text-gray-500 mt-1">Platí pre všetky produktové sekcie aj vernostné zľavy. Produkty s vlastnou platnosťou si ju ponechajú.</p>
</div>
{/* Farba pozadia vernostných kariet */}