feat: klik na produkt v nahlade otvori jeho editor (harmonika)
- v paneli je otvoreny vzdy len jeden produkt, ostatne su zbalene - klik na kartu produktu v nahlade vyberie sekciu aj produkt, panel sa posunie na jeho editor a karta sa v nahlade zvyrazni - odkazy v nahlade sa klikom neotvaraju Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
109d65a690
commit
c426145c48
4 files changed
+49
-12
No files matched your search
@@ -21,6 +21,9 @@ interface ConfigPanelProps {
|
||||
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
|
||||
@@ -94,7 +97,9 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
|
||||
campaignValidity = '',
|
||||
onOpenBadgeManager,
|
||||
onOpenImport,
|
||||
availableBadges = []
|
||||
availableBadges = [],
|
||||
selectedProductId = null,
|
||||
onSelectProduct
|
||||
}) => {
|
||||
if (!module) {
|
||||
return (
|
||||
@@ -660,7 +665,8 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
|
||||
product={p}
|
||||
index={pIdx}
|
||||
variant="standard"
|
||||
defaultOpen={pIdx === 0}
|
||||
open={selectedProductId === p.id}
|
||||
onToggle={() => onSelectProduct?.(selectedProductId === p.id ? null : p.id)}
|
||||
availableBadges={availableBadges || []}
|
||||
onChange={(patch) => updateProduct(pIdx, patch)}
|
||||
onDelete={() => updateData({ products: (module.data.products || []).filter((_: ProductItem, i: number) => i !== pIdx) })}
|
||||
@@ -845,7 +851,8 @@ export const ConfigPanel: React.FC<ConfigPanelProps> = ({
|
||||
product={p}
|
||||
index={pIdx}
|
||||
variant="loyalty"
|
||||
defaultOpen={pIdx === 0}
|
||||
open={selectedProductId === p.id}
|
||||
onToggle={() => onSelectProduct?.(selectedProductId === p.id ? null : p.id)}
|
||||
availableBadges={availableBadges || []}
|
||||
onChange={(patch) => updateProduct(pIdx, patch)}
|
||||
onOpenBadgeEditor={onOpenBadgeManager ? () => onOpenBadgeManager(p.id) : undefined}
|
||||
|
||||
Reference in new issue
Block a user