diff --git a/frontend/src/app/main/data/workspace/svg_upload.cljs b/frontend/src/app/main/data/workspace/svg_upload.cljs index 00e314a0b..07b510349 100644 --- a/frontend/src/app/main/data/workspace/svg_upload.cljs +++ b/frontend/src/app/main/data/workspace/svg_upload.cljs @@ -81,13 +81,13 @@ color-style (str/trim (get-in shape [:svg-attrs :style :fill])) color-style (if (= color-style "currentColor") clr/black color-style)] (cond-> shape - ;; Color present as attribute + ;; Color present as attribute (uc/color? color-attr) (-> (update :svg-attrs dissoc :fill) (update-in [:svg-attrs :style] dissoc :fill) (assoc-in [:fills 0 :fill-color] (uc/parse-color color-attr))) - ;; Color present as style + ;; Color present as style (uc/color? color-style) (-> (update-in [:svg-attrs :style] dissoc :fill) (update :svg-attrs dissoc :fill) @@ -110,20 +110,22 @@ (get-in shape [:svg-attrs :style :stroke-linecap])) ((d/nilf str/trim)) ((d/nilf keyword))) + color-attr (str/trim (get-in shape [:svg-attrs :stroke])) + color-attr (if (= color-attr "currentColor") clr/black color-attr) + color-style (str/trim (get-in shape [:svg-attrs :style :stroke])) + color-style (if (= color-style "currentColor") clr/black color-style) shape (cond-> shape - (uc/color? (str/trim (get-in shape [:svg-attrs :stroke]))) + ;; Color present as attribute + (uc/color? color-attr) (-> (update :svg-attrs dissoc :stroke) - (assoc-in [:strokes 0 :stroke-color] (-> (get-in shape [:svg-attrs :stroke]) - (str/trim) - (uc/parse-color)))) + (assoc-in [:strokes 0 :stroke-color] (uc/parse-color color-attr))) - (uc/color? (str/trim (get-in shape [:svg-attrs :style :stroke]))) + ;; Color present as style + (uc/color? color-style) (-> (update-in [:svg-attrs :style] dissoc :stroke) - (assoc-in [:strokes 0 :stroke-color] (-> (get-in shape [:svg-attrs :style :stroke]) - (str/trim) - (uc/parse-color)))) + (assoc-in [:strokes 0 :stroke-color] (uc/parse-color color-style))) (get-in shape [:svg-attrs :stroke-opacity]) (-> (update :svg-attrs dissoc :stroke-opacity) @@ -133,7 +135,7 @@ (get-in shape [:svg-attrs :style :stroke-opacity]) (-> (update-in [:svg-attrs :style] dissoc :stroke-opacity) (assoc-in [:strokes 0 :stroke-opacity] (-> (get-in shape [:svg-attrs :style :stroke-opacity]) - (d/parse-double)))) + (d/parse-double)))) (get-in shape [:svg-attrs :stroke-width]) (-> (update :svg-attrs dissoc :stroke-width)