feat: posun stitkov predajni pri kazdom produkte zvlast

Posuvniky Vodorovne / Zvisle su v nastaveniach cenovky produktu
(aj vernostneho) namiesto celej sekcie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub_HostacnyandClaude Opus 5.5 committed 2026-10-19 16:52:34 +02:00
1 parent a2d009bcb8
commit 139e3569d0
3 files changed
+42 -21

No files matched your search

+24 -16
View File
@@ -29,7 +29,7 @@ interface ConfigPanelProps {
availableBadges?: BadgeTemplate[];
}
// Posun štítkov predajní voči hornej hrane cenovky (pre celú sekciu)
// Posun štítkov predajní voči hornej hrane cenovky (pre jeden produkt)
const StoresOffsetControl: React.FC<{
x: number;
y: number;
@@ -67,7 +67,7 @@ const StoresOffsetControl: React.FC<{
</div>
{row('Vodorovne', x, -80, 80, 'storesOffsetX', '+ doprava, − doľava')}
{row('Zvisle', y, -40, 40, 'storesOffsetY', '+ vyššie nad cenovku, − nižšie cez horný okraj cenovky')}
<p className="text-[10px] text-gray-500">Štítky sú pri hornej hrane cenovky a posúvajú sa spolu s ňou. Platí pre celú sekciu.</p>
<p className="text-[10px] text-gray-500">Štítky sú pri hornej hrane cenovky a posúvajú sa spolu s ňou.</p>
</div>
);
};
@@ -613,13 +613,6 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
</label>
</div>
{/* Štítky predajní (Potraviny / Supermarket / Tempo) nad hornou hranou cenovky */}
<StoresOffsetControl
x={module.data.storesOffsetX || 0}
y={module.data.storesOffsetY ?? DEFAULT_STORES_OFFSET_Y}
onChange={(patch) => updateData(patch)}
/>
{/* Rozloženie produktov (Počet produktov na riadok) */}
<div>
<label className="block text-xs font-semibold text-gray-700 mb-1">
@@ -1093,6 +1086,17 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
}}
/>
{/* Štítky predajní (Potraviny / Supermarket / Tempo) pri hornej hrane cenovky */}
<StoresOffsetControl
x={p.storesOffsetX ?? module.data.storesOffsetX ?? 0}
y={p.storesOffsetY ?? module.data.storesOffsetY ?? DEFAULT_STORES_OFFSET_Y}
onChange={(patch) => {
const products = [...module.data.products];
products[pIdx] = { ...products[pIdx], ...patch };
updateData({ products });
}}
/>
{/* Tlačidlá aplikácie cenovky */}
{p.badgeCustomTemplate && (
<div className="space-y-1.5">
@@ -1366,13 +1370,6 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
</label>
</div>
{/* Štítky predajní (Potraviny / Supermarket / Tempo) nad hornou hranou cenovky */}
<StoresOffsetControl
x={module.data.storesOffsetX || 0}
y={module.data.storesOffsetY ?? DEFAULT_STORES_OFFSET_Y}
onChange={(patch) => updateData(patch)}
/>
{/* Farba pozadia vernostných kariet */}
<div className="bg-gray-50 p-3.5 rounded-xl border border-gray-200 space-y-2.5">
<div className="flex items-center justify-between">
@@ -1798,6 +1795,17 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
}}
/>
{/* Štítky predajní (Potraviny / Supermarket / Tempo) pri hornej hrane cenovky */}
<StoresOffsetControl
x={p.storesOffsetX ?? module.data.storesOffsetX ?? 0}
y={p.storesOffsetY ?? module.data.storesOffsetY ?? DEFAULT_STORES_OFFSET_Y}
onChange={(patch) => {
const products = [...module.data.products];
products[pIdx] = { ...products[pIdx], ...patch };
updateData({ products });
}}
/>
{/* Tlačidlá aplikácie cenovky */}
{p.badgeCustomTemplate && (
<div className="space-y-1.5">