From cb5f59533de6a149ca81d1d0989026b4934e0f39 Mon Sep 17 00:00:00 2001 From: Dexterity <173429049+Dexterity104@users.noreply.github.com> Date: Tue, 2 Jun 2026 12:11:33 -0400 Subject: [PATCH] :recycle: Migrate color-item asset component to modern syntax (#9440) Signed-off-by: Andrey Antukh Co-authored-by: Andrey Antukh --- .../ui/workspace/sidebar/assets/colors.cljs | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/colors.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/colors.cljs index 013265eddc..853232c118 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/colors.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/colors.cljs @@ -34,9 +34,8 @@ [okulary.core :as l] [rumext.v2 :as mf])) -(mf/defc color-item - {::mf/wrap-props false} - [{:keys [color local? file-id selected multi-colors? multi-assets? +(mf/defc color-item* + [{:keys [color is-local file-id selected is-multi-colors is-multi-assets on-asset-click on-assets-delete on-clear-selection on-group selected-full selected-paths move-color]}] @@ -89,9 +88,9 @@ delete-color (mf/use-fn - (mf/deps multi-colors? multi-assets? file-id color-id) + (mf/deps is-multi-colors is-multi-assets file-id color-id) (fn [] - (if (or multi-colors? multi-assets?) + (if (or is-multi-colors is-multi-assets) (on-assets-delete) (let [undo-id (js/Symbol)] (st/emit! (dwu/start-undo-transaction undo-id) @@ -107,9 +106,9 @@ rename-color-clicked (mf/use-fn - (mf/deps read-only? local?) + (mf/deps read-only? is-local) (fn [event] - (when (and local? (not read-only?)) + (when (and is-local (not read-only?)) (dom/prevent-default event) (reset! editing* true)))) @@ -150,7 +149,7 @@ (fn [event] (dom/prevent-default event) (let [pos (dom/get-client-position event)] - (when (and local? (not read-only?)) + (when (and is-local (not read-only?)) (when-not (contains? selected color-id) (on-clear-selection)) (swap! menu-state cmm/open-context-menu pos))))) @@ -195,7 +194,7 @@ (st/emit! (ev/event {::ev/name "use-library-color" ::ev/origin "sidebar" - :external-library (not local?)})) + :external-library (not is-local)})) (when-not (on-asset-click event (:id color)) (st/emit! (dc/apply-color-from-assets file-id color (kbd/alt? event)))))))] @@ -247,26 +246,26 @@ (:name color) [:span {:class (stl/css :default-name :default-name-with-color)} display-name]])]) - (when local? + (when is-local [:> cmm/assets-context-menu* {:on-close on-close-menu :state @menu-state - :options [(when-not (or multi-colors? multi-assets?) + :options [(when-not (or is-multi-colors is-multi-assets) {:name (tr "workspace.assets.rename") :id "assets-rename-color" :handler rename-color-clicked}) - (when-not (or multi-colors? multi-assets?) + (when-not (or is-multi-colors is-multi-assets) {:name (tr "workspace.assets.edit") :id "assets-edit-color" :handler edit-color-clicked}) - (when-not (or multi-colors? multi-assets?) + (when-not (or is-multi-colors is-multi-assets) {:name (tr "workspace.assets.duplicate") :id "assets-duplicate-color" :handler duplicate-color}) {:name (tr "workspace.assets.delete") :id "assets-delete-color" :handler delete-color} - (when-not multi-assets? + (when-not is-multi-assets {:name (tr "workspace.assets.group") :id "assets-group-color" :handler (on-group (:id color))})]}]) @@ -342,21 +341,21 @@ [:div {:class (stl/css :drop-space)}]) (for [color colors] - [:& color-item {:key (dm/str (:id color)) - :color color - :file-id file-id - :local? local? - :selected selected - :multi-colors? multi-colors? - :multi-assets? multi-assets? - :on-asset-click on-asset-click - :on-assets-delete on-assets-delete - :on-clear-selection on-clear-selection - :on-group on-group - :colors colors - :selected-full selected-full - :selected-paths selected-paths - :move-color move-color}])]) + [:> color-item* {:key (dm/str (:id color)) + :color color + :file-id file-id + :is-local local? + :selected selected + :is-multi-colors multi-colors? + :is-multi-assets multi-assets? + :on-asset-click on-asset-click + :on-assets-delete on-assets-delete + :on-clear-selection on-clear-selection + :on-group on-group + :colors colors + :selected-full selected-full + :selected-paths selected-paths + :move-color move-color}])]) (for [[path-item content] groups] (when-not (empty? path-item)