From 034170afacd4a75a4d1620e2990fcaa3047eba8e Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 26 Jun 2024 19:04:39 +0200 Subject: [PATCH] :bug: Export/import of images doesn't work for .zip format --- frontend/src/app/main/ui/shapes/custom_stroke.cljs | 4 +++- frontend/src/app/main/ui/shapes/embed.cljs | 2 +- frontend/src/app/main/ui/shapes/fills.cljs | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/main/ui/shapes/custom_stroke.cljs b/frontend/src/app/main/ui/shapes/custom_stroke.cljs index ed317cdbdc..3e664412fa 100644 --- a/frontend/src/app/main/ui/shapes/custom_stroke.cljs +++ b/frontend/src/app/main/ui/shapes/custom_stroke.cljs @@ -16,6 +16,7 @@ [app.config :as cf] [app.main.ui.context :as muc] [app.main.ui.shapes.attrs :as attrs] + [app.main.ui.shapes.embed :as embed] [app.main.ui.shapes.gradients :as grad] [app.util.object :as obj] [cuerdas.core :as str] @@ -213,6 +214,7 @@ :force-transform (cfh/path-shape? shape)} stroke-image (:stroke-image stroke) uri (when stroke-image (cf/resolve-file-media stroke-image)) + embed (embed/use-data-uris [uri]) stroke-width (case (:stroke-alignment stroke :center) :center (/ (:stroke-width stroke 0) 2) @@ -229,7 +231,7 @@ w (+ (dm/get-prop selrect :width) (* 2 stroke-margin)) h (+ (dm/get-prop selrect :height) (* 2 stroke-margin)) - image-props #js {:href uri + image-props #js {:href (get embed uri uri) :preserveAspectRatio "xMidYMid slice" :width 1 :height 1 diff --git a/frontend/src/app/main/ui/shapes/embed.cljs b/frontend/src/app/main/ui/shapes/embed.cljs index 218b9687b8..4283a6314a 100644 --- a/frontend/src/app/main/ui/shapes/embed.cljs +++ b/frontend/src/app/main/ui/shapes/embed.cljs @@ -31,7 +31,7 @@ (->> (http/fetch-data-uri uri true) ;; If fetching give an error we store the URI as its `data-uri` (rx/catch #(rx/of (hash-map uri uri))))))) - (rx/map identity obs))) + (rx/map (fn [uri] {uri uri}) obs))) sub (->> (rx/from urls) (rx/filter some?) diff --git a/frontend/src/app/main/ui/shapes/fills.cljs b/frontend/src/app/main/ui/shapes/fills.cljs index 076a662c04..4fb4a2996c 100644 --- a/frontend/src/app/main/ui/shapes/fills.cljs +++ b/frontend/src/app/main/ui/shapes/fills.cljs @@ -14,6 +14,7 @@ [app.common.geom.shapes.text :as gst] [app.config :as cf] [app.main.ui.shapes.attrs :as attrs] + [app.main.ui.shapes.embed :as embed] [app.main.ui.shapes.gradients :as grad] [app.util.object :as obj] [rumext.v2 :as mf])) @@ -57,7 +58,7 @@ (keep :fill-image) (map cf/resolve-file-media)) fills) - + embed (embed/use-data-uris uris) transform (gsh/transform-str shape) pat-props #js {:patternUnits "userSpaceOnUse" @@ -119,7 +120,7 @@ (let [uri (cf/resolve-file-media (:fill-image value)) keep-ar? (-> value :fill-image :keep-aspect-ratio) image-props #js {:id (dm/str "fill-image-" render-id "-" fill-index) - :href (get uris uri uri) + :href (get embed uri uri) :preserveAspectRatio (if keep-ar? "xMidYMid slice" "none") :width width :height height