From fb3655506f0b9872ef26500b159463bea6689d1b Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Wed, 24 May 2023 11:33:47 +0200 Subject: [PATCH] :bug: Fixes context menu action for duplicate main component --- .../app/main/ui/workspace/context_menu.cljs | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/context_menu.cljs b/frontend/src/app/main/ui/workspace/context_menu.cljs index 41b677c77..5fe7136e8 100644 --- a/frontend/src/app/main/ui/workspace/context_menu.cljs +++ b/frontend/src/app/main/ui/workspace/context_menu.cljs @@ -149,12 +149,23 @@ (dom/classnames :separator true))}])) (mf/defc context-menu-edit - [] - (let [do-copy #(st/emit! (dw/copy-selected)) - do-cut #(st/emit! (dw/copy-selected) - (dw/delete-selected)) - do-paste #(st/emit! dw/paste) - do-duplicate #(st/emit! (dw/duplicate-selected false))] + [props] + (let [shapes (:shapes props) + main-component-id (when (and (= 1 (count shapes)) + (:main-instance? (first shapes))) + (:component-id (first shapes))) + do-copy #(st/emit! (dw/copy-selected)) + do-cut #(st/emit! (dw/copy-selected) + (dw/delete-selected)) + do-paste #(st/emit! dw/paste) + do-duplicate #(if main-component-id + (st/emit! (dwl/duplicate-component (:component-file (first shapes)) main-component-id)) + (st/emit! (dw/duplicate-selected false))) + + + duplicate-title (if main-component-id + (tr "workspace.assets.duplicate-main") + (tr "workspace.shape.menu.duplicate"))] [:* [:& menu-entry {:title (tr "workspace.shape.menu.copy") :shortcut (sc/get-tooltip :copy) @@ -165,7 +176,7 @@ [:& menu-entry {:title (tr "workspace.shape.menu.paste") :shortcut (sc/get-tooltip :paste) :on-click do-paste}] - [:& menu-entry {:title (tr "workspace.shape.menu.duplicate") + [:& menu-entry {:title duplicate-title :shortcut (sc/get-tooltip :duplicate) :on-click do-duplicate}]